我已经成功地实现了轮询和回调客户端端异步示例,但现在我感兴趣的是使用服务器端异步实现web服务。基础设施是Java,使用JBoss作为6.x。
我正在尝试实现的模式(据我理解)将涉及两个web服务操作,一个用于启动请求,另一个用于检查请求是否已完成并检索结果。
我猜想,由于获取结果不需要很长时间的查询,所以我不需要JMS,我可以简单地查询数据库以查看结果是否已经准备好。因此,第二项行动是:
所以,我有很多问题。我看到了一些对服务器端异步支持的引用,但它们在某种程度上似乎都是特定于服务器的。例如,我看到了一个精确描述第一个操作的图表,但它似乎是特定于OC4J的。如果有人可以向我介绍一个通用示例或教程实现类似的东西,请这样做。其他的子属性可能是,我应该使用JMS消息ID作为相关器返回到客户端吗?我假设我应该使用客户端确认作为JMS会话模式,这样MDB就可以向web服务发送一个回复,然后从队列中删除消息。或者,我应该麻烦一下吗?web服务端点是否应该生成JMS消息,将其弹出到队列中,并直接将消息ID返回给服务客户端,而不需要遍历MDB通过JMS队列2发送回相关器的所有繁琐操作?编辑:实际上,我越考虑这个问题,web服务发送消息的想法似乎就错了,然后,什么,阻止等待队列2上的回复?
发布于 2013-03-15 16:42:53
相关id可以在步骤2中生成并立即返回给客户端。这在响应客户端之前减少了额外的跳数。在队列中生成持久消息就足够了。我也不认为需要两个队列。我更喜欢应用程序生成的相关id。
https://stackoverflow.com/questions/15435872
复制相似问题