【问题标题】:How can I get a server to notify the client about changes using the spring Framework?如何让服务器使用 spring 框架通知客户端有关更改?
【发布时间】:2011-09-14 09:22:11
【问题描述】:

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

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

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

所以说重点。服务器使用 Spring 通知客户端更改的标准技术是什么?请注意,我不是在开发 Web 应用程序,它仅用于专用网络。这是我一直面临的困难之一:每个关于 Spring 安全性或远程处理的教程都假设您正在制作一个 Web 应用程序,但我真的不想迷失在 Spring MVC 和一般 Web 应用程序的细节中。

任何资源将不胜感激。关于这个问题的一个好的和长的教程会很棒。

编辑:嗯,看起来 JMS 可能是我正在寻找的东西。

【问题讨论】:

    标签: java spring


    【解决方案1】:

    据我了解,您面临的问题是在请求中识别客户并关联不同的客户请求,即有类似会话的东西。

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

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

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 2012-03-30
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多