如何让服务器使用spring Framework通知客户端有关更改的信息?

时间:2011-09-14 09:22:12

标签: java spring

我开始使用Hibernate,Spring和Eclipse RCP(针对客户端)开发应该成为客户端 - 服务器应用程序的内容。这是我第一次从一开始就设计一个应用程序,所以我只是迈出了第一步。

我已经在客户端和服务器上使用RMI设置了Spring进行远程处理(但如果有明显的优势,我不介意使用别的东西)。所以现在我能够从不同的客户端调用服务器的公开服务来从数据库中获取信息。我没有做的是获得任何类型的身份验证,所以基本上服务器只是回答不同的客户端而不知道任何关于它们的事情,还没有会话的概念。当然这必须改变,因为我需要不同的用户来拥有不同的滚动等等,但是现在我面临的问题是让服务器在发生某些事情时通知客户端。

我解决这个问题的想法是在服务器上有一个事件队列,并让客户端每隔3秒左右获取一次。然后,服务器将通过它的会话令牌识别客户端并发送适当的事件。然而,我在该项目中的合作伙伴担心这种技术(轮询)可能会浪费太多不必要的带宽。

所以要说明问题。服务器使用Spring通知客户有关更改的标准技术是什么?请注意,我不是在开发Web应用程序,而是仅用于专用网络。这是我遇到的困难之一:关于Spring安全性或远程处理的每一个教程都假设您正在创建一个Web应用程序,但我真的不想迷失在Spring MVC和Web应用程序的细节中。

任何资源都将受到赞赏。关于此事的一个很好的长篇教程会很棒。

编辑:嗯,看起来JMS可能正是我想要的。

1 个答案:

答案 0 :(得分:1)

据我了解,您面临的问题是在请求中识别客户端并关联不同的客户端请求,例如会话。

Spring还支持基于HTTP协议的RMI(使用Hessian及其自己的HTTP Invokers)。查看this链接(第17.3节)。现在,一旦您作为HTTP传输,它就具有固有的基本身份验证和会话,可以利用它来解决您面临的问题。

这只是一个指针。我很想知道你最终如何解决问题。