使用Jersey的Java和观察者模式的RESTful Web服务

时间:2014-03-31 12:46:03

标签: java web-services rest jersey observer-pattern

我正在尝试为学校项目实施n层架构应用程序。 客户端和服务器之间的通信是通过RESTful Web服务完成的。 我使用 Jersey Java 中实现此功能。我唯一的问题是,如何注册服务器上的客户端以接收更改通知(通常使用观察者模式或监听/发布模式)。我是否需要在客户端实现服务,然后注册服务器调用的URL,然后在发生更改时调用这些URL?

感谢您的帮助!

1 个答案:

答案 0 :(得分:3)

通常,在基于http的客户端 - 服务器方案中,服务器始终响应请求。没有客户端请求,服务器无法发送任何内容(通知)。但是服务器有一些用例将数据推送到客户端而没有客户端请求,因此Server-Push开始出现。{/ p>

Jersey Server-Sent Events (SSE)的形式提供服务器推送。文档说,

  

服务器发送事件(SSE)是一种允许服务器访问的机制   一旦将数据从服务器异步推送到客户端   客户端 - 服务器连接由客户端

建立

请注意,客户需要与服务器建立连接优先。您可以将第一个客户端请求称为注册。建立连接后,服务器可以向客户端发送/推送数据。链接提及也有一个工作示例