4
我是cometD的新手,是否有任何简单的例子来实现服务通道模型的情况下的响应/请求模型。我见过cometd.org,但是如果我发布到任何频道,如何发送回复就没有这样的例子。在cometD中实现
这是客户端
alert("channel published1");
dojox.cometd.publish('/service/getlist');
alert("channel published");
dojox.cometd.subscribe('/service/getlist', function(message) {
alert(message);
});
这是服务器端的 “ConfigurationServlet”
bayeux.createIfAbsent("/service/getlist", new ConfigurableServerChannel.Initializer() {
//new EchoService(bayeux);
@Override
public void configureChannel(ConfigurableServerChannel channel) {
/*channel.setPersistent(true);
GetListChannelListener channelListner = new GetOrderListChannelListener();
channel.addListener(channelListner);*/
new EchoService(bayeux);
}
});
EchoService的
public class EchoService extends AbstractService{
public EchoService(BayeuxServer bayeuxServer)
{
super(bayeuxServer, "getlist");
addService("/service/getlist", "processEcho");
}
public void processEcho(ServerSession remote,Map<String, Object> data)
{
try{
System.out.println("Start Process Echo");
getBayeux().getChannel("/service/getlist").publish(getServerSession(), "Hello", null);
System.out.println("End Process Echo");
}catch(Exception exp){
exp.printStackTrace();
}
//remote.deliver(getServerSession(), "/service/getlist", data, null);
}
}
感谢您的评论。我现在在学习时遇到了一个问题,即假设我已经在javascript中发布和频道并订阅。发布时我正在调用一个servlet。现在我有点在这里混淆如何发送一个味精回到客户端(JavaScript)从servlet。我看过一个例子,但我没有理解这里的观点。 –
请更新您的问题,添加您到目前为止写的代码 – perissf
perissf我已更新我的问题。请看一看。 Thnx –