在没有轮询概念的java中聊天应用程序

时间:2014-02-24 11:34:37

标签: java chat jruby

我使用spring3在java中创建了一对一的聊天应用程序。它的作用是轮询数据库以获取特定用户的新消息。这仍然是一个开发代码,无法将其用于生产和销售。你知道会发生什么。

我想创建一个没有此轮询概念的聊天应用程序。我需要用户在消息到达时获取消息,因为它们更像是推送。我搜索并找到了网络套接字,彗星,XMPP等的结果,其中大多数都需要特定的服务器和测试版。我在IBM WebSphere中运行我的应用程序。

任何人都知道该怎么办? J Ruby值得一试吗?

1 个答案:

答案 0 :(得分:1)

JMS主题将一次性为您提供发布/订阅和(静止)服务器端持久性。

客户端订阅JMS队列中的主题,然后“等待”新消息。您甚至可以支持断开连接的客户端,他们仍然会在重新连接时收到错过的消息。来自客户端的消息可以写入另一个队列,由服务器中的MDB使用并重新分发到传出队列。

就我记忆而言,您的WebSphere应该为您提供JMS队列,并且用于接收消息的客户端代码可能少于10行代码; - )

Oracle客户端示例:http://docs.oracle.com/javaee/1.3/jms/tutorial/1_3_1-fcs/doc/client_samples.html