如何在群集环境中的weblogic 11中配置多个MQ队列管理器和连接工厂

时间:2014-03-05 14:37:54

标签: ejb jms weblogic ibm-mq weblogic-10.x

所以这就是问题所在。我有一个在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队列管理器的方法。如果不可能,请建议下一个最好的事情。我对所有想法持开放态度。)

谢谢

1 个答案:

答案 0 :(得分:1)

WebSphere MQ集群的全部内容是QMgrs如何相互通信,并且不会从应用程序中隐藏存在多个队列物理实例的事实。每个队列管理器实例都需要单独的连接。该应用程序需要......

  • 为每个队列实例使用网桥实例。
  • 配置网桥,以便同时连接到不同的QMgrs。

决定使用单个连接工厂配置网桥的人并未考虑底层传输的体系结构。无论你怎么努力,你都无法用配置来克服这个糟糕的决定。