给定使用CometD的Java Web应用程序,如何在每次由bayeux处理消息时向所有通道的订阅者发布消息?
为了测试,我使用了 serverSession.deliver(serverSession, "/test-channel", map, null);
.
结果是我的Javascript客户端将成功订阅,但只接收10次尝试中的1次消息 . 因此,90%的情况下,浏览器没有收到任何消息,但Bayeux日志记录(级别3)显示每次都将它们发送到正确的 Channels .
我应该使用某种形式的客户端会话吗? CometD文档似乎有点不清楚 .
1 回答
使用
localSession
似乎就是答案 . 我实现了这个来修复:客户端现在正在接收所有消息 .