我在 Websphere 中部署了一个应用程序,它应该使用 HornetQ 在 JBoss 中实现的队列中推送消息。然后,该消息将由另一个应用程序(在 JBoss 上)中的 MDB 使用。这甚至可能吗?
总结:WAS(生产者)-> JBoss(消费者)
我认为是的,因为协议 JMS 是共享的,但细节是什么?我应该使用 MQ 库加载 JBoss,还是完全按照我从 WAS 引用 JBoss 队列的方式?太感谢了。
如果部署在 JBoss EAP 上的 MDB 正在从 HornetQ 的本地队列接收消息,那么您不需要部署任何 MQ jar。
您需要做的就是编写一个 MDB 应用程序并读取您onMessage(Message msg)
方法中的消息。它应该就这么简单。
您可以在 jboss eap快速入门中看到一个 MDB 示例。该类HelloWorldQueueMDB.java
是您可能感兴趣的类。按照该类中的代码并修改您的特定 HornetQ 队列名称的目标注释值(来自文件中的standalone-full.xml
orstandalone-full-ha.xml
或full
orfull-ha
配置domain.xml
文件)。
附带说明一下,JBoss EAP 6.1 已经很老了。我强烈建议升级到 JBoss EAP 6.4.13 或更高版本。