How can I configure more than one MQ queue Manager and connection factory in weblogic 11 in a clustered environment

StackOverflow https://stackoverflow.com/questions/22200808

Frage

So here is the question . I have an application running in weblogic 8 which is heavily dependent on JMS messages . The messages flow from a clustered MQ Server and the application which is in ejb 2 used to listen to directly in the MQ using configurations in the weblogic-ejb-jar.xml. The MQ server has two Queue Managers and two different Connection Factory name for those managers .

    <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>

Now the application is to be migrated to weblogic 10.3 and the configurations has already been done in test for that .ejb version has changed to 3 and they have used annotations in the mdbs for queue config and such .But the real problem is this ,the application used to listen to the MQ directly and now they have configured a bridge which will transfer the message from MQ to a internal queue and the mdb will listen to that queue . The source MQ queue config in weblogic bridge config has only one connection factory in there and I am not sure if its possible to configure multiple queue managers , connection factories etc in a single queue . But in production there will be multiple queue managers etc .

I think its possible if I configure foreign servers for those queues then the clustering will be possible . But that will mean a huge change in the application and weblogic config also . So the ideal solution I am searching for is a way to connect to those multiple MQ queue managers with the existing bridge configuration. If its not possible , please suggest the next best thing . I am open to all ideas :)

Thanks

War es hilfreich?

Lösung

A WebSphere MQ cluster is all about how QMgrs talk to each other and does not hide from the application the fact that there are multiple physical instances of a queue. A separate connection is required to each queue manager instance. The app will need to either...

  • Use an instance of the bridge for each queue instance.
  • Configure the bridge to make multiple simultaneous connections to the different QMgrs.

Whoever made the decision to configure a bridge with a single connection factory did not consider the architecture of the underlying transport. You cannot overcome that poor decision with configuration, no matter how hard you try.

Lizenziert unter: CC-BY-SA mit Zuschreibung
Nicht verbunden mit StackOverflow
scroll top