您可以使用 BlazeDS 和 LiveCycle Data Services 实现此功能。BlazeDS 提供远程和消息功能(消息功能是允许您在客户端之间同步数据的功能),LCDS 扩展了 BlazeDS,添加了新功能,如数据管理(提高生产力)、PDF 生成、用于处理 DMZ 区域的 EDGE 服务器), MDA 开发、门户集成等。它还添加了一些高级消息传递功能,如消息合并、节流、可靠性。
BlazeDS 是免费和开源的,在我看来是一个强大的解决方案,如果你想在客户端之间同步数据,你可以使用它。LCDS增加了很多东西,但是LCDS的客户应该有很大的预算。
它是如何工作的?此功能没有 JMS 支持(但是 BlazeDS 可以与 JMS 提供程序集成,因此您可以在浏览器中拥有一个客户端,而第二个客户端运行 SWING 应用程序)。相反,服务器上有一些消息队列和一个发布者 - 订阅者图。为了将数据从客户端推送到服务器,有多种选择,更高级的选项仅在 LCDS 上可用:HTTP 轮询、HTTP 长轮询、HTTP 流式传输、RTMP 套接字(仅限 LCDS)。所有这些都在Damon博客上进行了详细描述。
如果您想查看一些代码并下载BlazeDS并查看示例,这里有几个显示消息传递功能的示例。下载中还捆绑了一个 tomcat 服务器,并且示例已经部署在其中。