如果您只需要将字符串信息返回给请求它的客户端,并且不需要将此信息广播给其他客户端,那么您不需要CometD:一个简单的 Servlet 就足够了(您甚至不需要 REST )。
另一方面,如果您需要将字符串信息广播给多个客户端,那么 CometD 是适合这项工作的工具,毕竟它的功能并不复杂。
客户:
cometd.init("http://server/cometd");
cometd.subscribe("/info", function(m)
{
// Do something with the message, then disconnect
cometd.disconnect();
});
cometd.publish("/service/myservice", {});
服务器:
@Service
class MyService
{
@Inject
private BayeuxServer bayeux;
@Session
private LocalSession session;
@Listener("/service/myservice")
public void processMyService(ServerSession s, ServerMessage m)
{
String info = retrieveInfo();
// Broadcast
bayeux.getChannel("/info").publish(session, info, null);
}
}
在这里您可以找到有关 CometD注释服务的更多信息。