我有一个通过RESTful web服务提供的Java应用程序。我想创建一种机制,这样客户端就可以注册事件通知。问题在于,不能保证客户端程序将是Java程序,因此我无法使用JMS (即,如果每个客户端都是Java应用程序,那么我们可以允许客户端订阅JMS主题并在那里侦听通知消息)。
用例大致如下:
如上所述,我知道如果所有客户端都是Java应用程序,我将如何做--设置一个客户端可以监听通知消息的主题。但是,我不能使用这种方法,因为很多客户端可能无法侦听通知消息的JMS主题。
在座的各位能告诉我这个问题通常是如何解决的吗?使用RESTful接口可以提供什么机制?
发布于 2009-07-07 18:28:48
我可以想到四种方法:
Twitter方法:注册客户端,然后它使用GET定期回调,以检索任何notifications.
发布于 2009-10-13 21:20:59
我们有这个问题,需要对相对较少的监听器进行低延迟异步更新。我们的两个替代解决方案是:
传输事件描述流
发布于 2009-07-07 18:29:26
在对RESTful请求的响应中,您可以提供一个个性化的RESTful URL,客户端可以监视该URL是否有更新。
也就是说,您有一个URL (比方说/Signup.htm),它接受客户机的信息(id,如果合适,则为要监视的对象的id )并返回一个定制的url (/Monitor/ XYZPDQ ),其中XYZPDQ是为该特定客户机创建的UUID。客户端可以以一定的时间间隔轮询定制的URL,如果发生更新,它将收到通知。
如果您不关心客户端是谁(也不想创建如此多的UUID),那么您可以为每个可能想要监视的对象使用单独的RESTful URL,“注册”URL只会返回正确的URL。
正如John Saunders所说,您无法通过HTTP进行更直接的发布/订阅。
https://stackoverflow.com/questions/1093900
复制相似问题