可靠的SOAP消息传递 - 使用JMS队列还是自己实现?

时间:2014-07-22 13:32:00

标签: java soap jms osgi activemq

我遇到了一个需要通过SOAP消息向远程系统发送异步通知的系统(基于Java,OSGI,Equinox,Blueprint)。系统必须确保通知到达远程系统(即它通过确认消息响应,WS-ReliableMessaging不可用)。

现在我看到两个选项:

  1. 使用OSGI的EventAdmin机制来触发通知,实现我自己的处理程序,该处理程序将通知保留在队列中。石英作业将轮询队列并尝试发送Soap消息。如果远程系统成功响应,则只会从队列中删除该消息。

  2. 使用像ActiveMQ这样的消息传递中间件(例如,作为Apache Servicemix的一部分)来使用JMS并使整个任务变得更加容易。

  3. 你有什么建议?

1 个答案:

答案 0 :(得分:0)

采用JMS,如果你选择1,你将最终实现一些已经由JMS系统提供的东西。 OSGi事件很不错,但在关闭容器后它们就消失了。所以这至少是你必须重新实现像ActiveMQ这样的JMS消息系统已经提供的缺点之一。