所以这就是问题所在。我有一个在weblogic 8中运行的应用程序,它严重依赖于JMS消息。消息来自集群MQ服务器和ejb 2中的应用程序,用于使用weblogic-ejb-jar.xml中的配置直接在MQ中进行侦听。 MQ服务器有两个队列管理器和两个不同的连接工厂名称。
<weblogic-enterprise-bean>
<ejb-name>MDB_QM1</ejb-name>
<message-driven-descriptor>
<destination-jndi-name>QM1</destination-jndi-name>
<initial-context-factory>weblogic.jndi.WLInitialContextFactory</initial-context-factory>
<connection-factory-jndi-name>CF1</connection-factory-jndi-name>
</message-driven-descriptor>
</weblogic-enterprise-bean>
<weblogic-enterprise-bean>
<ejb-name>MDB_QM2</ejb-name>
<message-driven-descriptor>
<destination-jndi-name>QM2</destination-jndi-name>
<initial-context-factory>weblogic.jndi.WLInitialContextFactory</initial-context-factory>
<connection-factory-jndi-name>CF2</connection-factory-jndi-name>
</message-driven-descriptor>
</weblogic-enterprise-bean>
现在应用程序将迁移到weblogic 10.3并且测试中的配置已经完成.ejb版本已经更改为3并且他们在mdbs中使用了注释来进行队列配置等。但真正的问题是这个,用于直接监听MQ的应用程序,现在他们已经配置了一个桥接器,它将消息从MQ传输到内部队列,mdb将监听该队列。 weblogic bridge config中的源MQ队列配置中只有一个连接工厂,我不确定是否可以在单个队列中配置多个队列管理器,连接工厂等。但在生产中会有多个队列管理器等。
我认为如果我为这些队列配置外部服务器,那么可以进行集群。但这也意味着应用程序和weblogic配置也会发生巨大变化。因此,我正在寻找的理想解决方案是使用现有桥接配置连接到那些多个MQ队列管理器的方法。如果不可能,请建议下一个最好的事情。我对所有想法持开放态度。)
谢谢
答案 0 :(得分:1)
WebSphere MQ集群的全部内容是QMgrs如何相互通信,并且不会从应用程序中隐藏存在多个队列物理实例的事实。每个队列管理器实例都需要单独的连接。该应用程序需要......
决定使用单个连接工厂配置网桥的人并未考虑底层传输的体系结构。无论你怎么努力,你都无法用配置来克服这个糟糕的决定。