我理解JMS规范允许我编写MDB。然后我可以将它们部署在像websphere或jboss这样的appserver上(并且它们具有内置的JMS提供程序实现,这是Java EE兼容的)。问题是何时使用完整的产品,如IBM WebSphere MQ或ACtiveMQ,而不是使用App server的内置JMS提供程序。
答案 0 :(得分:1)
这似乎是对您所询问的内容的一个很好的参考,特定于IBM产品,但可以推广到使用应用程序服务器集成消息传递系统与独立消息传递系统 - http://www.ibm.com/developerworks/websphere/library/techarticles/1109_wallis/1109_wallis.html
答案 1 :(得分:1)
内置的JMS提供程序(例如WebSphere SI Bus,可能还有其他)是为JMS消息传递而构建的。
WebSphere MQ(MQSeries),ActiveMQ等具有多种语言的客户端,并且是为除Application Server托管应用程序以外的应用程序(C ++,Java SE,Python等)构建的。
假设您希望本地消息服务器与非JavaEE应用程序位于同一物理服务器(或网络?)上,您不希望安装Java EE App Server,而是希望使用独立的消息传递服务器(WebSphere MQ) ,Active MQ)。
也就是说,ActiveMQ就是Apache Geronimo中的消息传递系统。所以这里有重叠。
然后讨论管理,集群和安全问题。 Java EE消息传递系统已经过优化,可以遵循Java EE的集群布局。在其他部署方案中,群集可能在其他方面是最佳的,例如不同安全区域的群集。此外,独立的Messaga服务器中的安全模型和管理工具可能会有所不同。