我正在eclipse中创建一个Java应用程序,让不同的设备使用发布/订阅协议进行通信。
我正在使用Jboss和ActiveMQ,我想知道是否应该使用ActiveMQ资源适配器以独立模式在jboss中集成代理,或者我应该在我的pom.xml文件中添加依赖项并使用显式的java代码这里指出http://activemq.apache.org/how-do-i-embed-a-broker-inside-a-connection.html。
这里我发现在独立模式下将ActiveMQ集成到jboss中的文档https://access.redhat.com/documentation/en-US/Red_Hat_JBoss_A-MQ/6.1/html/Integrating_with_JBoss_Enterprise_Application_Platform/DeployRar-InstallRar.html
有人能告诉我这两种方法有什么区别吗?
答案 0 :(得分:0)
以下是我的问题的答案:
第一种方法是在您的webapp本身内启动代理。你可以使用 普通的消费者(不是消息驱动的bean - MDB),但只有你的webapp可以 通过VM传输(vm://)访问它。
第二种方法让app服务器管理与之的连接 经纪人和经纪人的创建,所以它可能也在JVM中 运行您的webapp并且可能只能访问您的webapp,但是 应用服务器会隐藏这些详细信息。你只能消费 通过MDB的消息,但这提供了一个不均匀的接口 如果您将来切换到另一个JMS提供程序,则需要更改。
由于将JEE webapp与JMS代理集成的标准方法是通过 RA,我建议使用这种方法只是为了保持一致性 标准化。这也应该允许您切换到独立 ActiveMQ经纪人(或其他JMS产品)在未来只需要很少的努力。