【发布时间】:2009-07-07 18:13:49
【问题描述】:
我有一个通过 RESTful Web 服务提供的 Java 应用程序。我想创建一种机制,以便客户端可以注册事件通知。问题是不能保证客户端程序将是 Java 程序,因此我将无法为此使用 JMS(即,如果每个客户端都是 Java 应用程序,那么我们可以允许客户端订阅 JMS 主题并在那里收听通知消息)。
用例大致如下:
- 客户端通过 RESTful Web 服务调用向我的服务器应用程序注册自己,表明它有兴趣在特定对象更新时收到通知消息。
- 当感兴趣的对象更新时,我的服务器应用程序需要向所有有兴趣收到此事件通知的客户端发出通知。
正如我上面提到的,如果所有客户端都是 Java 应用程序,我知道该怎么做——设置一个客户端可以监听通知消息的主题。但是我不能使用这种方法,因为很多客户端可能无法收听 JMS 主题的通知消息。
这里有人能告诉我这个问题通常是如何解决的吗?我可以使用 RESTful API 提供什么机制?
【问题讨论】:
-
我实际上已经为我的公司构建了这样一个系统,并着眼于可能将其作为开源发布。它是用 Groovy 编写的,但不依赖于将 Groovy 安装在服务器上——它使用 Restlet 和 Java Services Wrapper 作为 Java 应用程序运行。它可以很容易地修改以在 Java 应用程序服务器中运行。它使用数据访问对象作为数据库的抽象层。它附带了一个用于 CouchDB 的适配器,但是为不同的 DB 实现一个适配器非常容易。你会对这个系统感兴趣吗,我会以开源的形式发布它吗?
标签: events rest messaging notifications message