1 Reply Latest reply on Oct 14, 2014 10:59 AM by vandamo

    JBOSS EAP6.2 to IBM MQ Integration

    lavin.korukanti

      Hello All,

       

      We are planning to migrate our applications from WebSphere to JBOSS EAP6.2, As part of that I am looking to integrate WMQ7.5.2 to JBOSS EAP in domain mode, I have searched over the JBOSS Forums and made the necessary changes in my domain.xml , but my doubt is below

       

      I have 2 Nodes/Unix Servers for JBOSS EAP

       

      NODE 1  has the below

       

      1) JBOSS EAP Installed and running in domain mode ( Master) , modified domain.xml , host.xml

      2) Server 1 - Part of Server Group

      3) QMGR A

       

       

      NODE 2 has the below

       

      1) JBOSS EAP Installed and running in Slave Mode , modifed host.xml

      2) Server 2 - Part of the same Server Group as server 1

      3) QMGR A

       

      I have integrated IBM WMQ by changing my parameters in domain.xml

       

      <subsystem xmlns="urn:jboss:domain:resource-adapters:1.1">

       

                  <resource-adapters>

                      <resource-adapter id="wmq.jmsra.rar">

                          <archive>

                              wmq.jmsra.rar

                          </archive>

                          <transaction-support>NoTransaction</transaction-support>

                          <config-property name="logWriterEnabled">

                              true

                          </config-property>

                          <config-property name="traceEnabled">

                              true

                          </config-property>

                          <config-property name="traceLevel">

                              3

                          </config-property>

                          <config-property name="connectionConcurrency">

                              5

                          </config-property>

                          <config-property name="maxConnections">

                              15

                          </config-property>

                          <connection-definitions>

                              <connection-definition class-name="com.ibm.mq.connector.outbound.ManagedConnectionFactoryImpl jndi-name="java:jboss/XXXPrimaryQCF" enabled="true" use-java-context="true" pool-name="APTPPrimaryQCF">

                             <config-property name="port">

                                    1420

                             </config-property>

                             <config-property name="hostName">

                               XX.XX.XX.XX1

                             </config-property>

                             <config-property name="channel">

                                  SYSTEM.DEF.SVRCONN

                             </config-property>

                             <config-property name="transportType">

                                  CLIENT

                              </config-property>

                              <config-property name="queueManager">

                                XXXXXX1

                              </config-property>

                           </connection-definition>

                          

                           <connection-definition class-name="com.ibm.mq.connector.outbound.ManagedConnectionFactoryImpl jndi-name="java:jboss/XXXSecondaryQCF" enabled="true" use-java-context="true" pool-name="APTPSecondaryQCF">

                             <config-property name="port">

                                    1420

                             </config-property>

                             <config-property name="hostName">

                               XX.XX.XX.XX2

                             </config-property>

                             <config-property name="channel">

                                  SYSTEM.DEF.SVRCONN

                             </config-property>

                             <config-property name="transportType">

                                  CLIENT

                              </config-property>

                              <config-property name="queueManager">

                                XXXXXX2

                              </config-property>

       

                           </connection-definition>

                           <admin-objects>                    

                           <admin-object class-name="com.ibm.mq.connector.outbound.MQQueueProxy" jndi-name="java:jboss/jms/XXXWriterPrimaryQueue" pool-name="OdsWriterQueue">

                              <config-property name="baseQueueManagerName">

                                      XXXXXX1

                              </config-property>

                              <config-property name="baseQueueName">

                                      XX.XQ.QA

                              </config-property>

                           </admin-object>

       

                           <admin-object class-name="com.ibm.mq.connector.outbound.MQQueueProxy" jndi-name="java:jboss/jms/XXXWriterSecondaryQueue" pool-name="OdsWriterQueue">

                              <config-property name="baseQueueManagerName">

                                      XXXXXX2

                              </config-property>

                              <config-property name="baseQueueName">

                                      XX.XQ.QB

                              </config-property>

                           </admin-object>

                          

                           <admin-object class-name="com.ibm.mq.connector.outbound.MQQueueProxy" jndi-name="java:jboss/jms/XXXXWriterPrimaryQueue" pool-name="OdsWriterQueue">

                              <config-property name="baseQueueManagerName">

                                     XXXXXX1

                              </config-property>

                              <config-property name="baseQueueName">

                                      XX.XQ.QA

                              </config-property>

                           </admin-object>

                        </admin-objects>

                      </resource-adapter>

       

                  </resource-adapters>

       

              </subsystem>

             

             

           <mdb>

                 <resource-adapter-ref resource-adapter-name="wmq.jmsra.rar"/>

                 <bean-instance-pool-ref pool-name="mdb-strict-max-pool"/>

           </mdb>

          

          

           <subsystem xmlns="urn:jboss:domain:ee:1.1">

       

           <spec-descriptor-property-replacement>true</spec-descriptor-property-replacement>

       

           <jboss-descriptor-property-replacement>true</jboss-descriptor-property-replacement>

       

      </subsystem>

       

       

      In our WebSphere enviroment  we have created JMS resources at Node Scope , So Server 1 only communicated to QMGR A and Server 2 only Communicated to QMGR B , but I am not sure how to configure this scope here in JBOSS so that Server 1 on Node 1 will only have reference QMGR1 and Server 2 on Node 2 will have reference to QMGR2 , Can some please guide me

        • 1. Re: JBOSS EAP6.2 to IBM MQ Integration
          vandamo

          Hi,

          I haven't tried this myself, but based on what I can see of the configuration:

           

          Both the hostName and queueManager properties allow expressions,

          which means you can define them as ${hostName} and ${queueManager} in your profile,

          and define system properties hostName and queueManager at server-config level, so that at server startup, the expressions are replaced with the specific value for the concerned server-config.

           

          Some info regarding expressions:

          Expressions - JBoss AS 7.1 - Project Documentation Editor

           

          Hope this helps.