0 Replies Latest reply on Jun 16, 2008 9:13 AM by gerhardo

    Reconnect failure JBoss to MQ

    gerhardo

      Hello !

      I'm unable to make a reconnect work from our MBean on JBoss 4.0.5GA to a WebSphere MQ 6.0.2 Queue.
      Evrything is working fine until a network failure or a channel reboot on the MQ side. If this happens I have to restart the Jboss to setup a working connection again.
      We are using the IBM Resourceadapter and have not changed any of the settings in the ra.xml file contained in the adapter rar. So there should be a reconnection try count of 5 and an reconnection interval of 300 sec. But nothing happens on the JBoss side except immediate notice of the connection failure to the queue manager.

      Any help would be greatly appreciated,
      Gerhard

      Here is our entry in standardjboss.xml

      <invoker-proxy-binding>
       <name>classic-wmq-message-driven-bean</name>
       <invoker-mbean>default</invoker-mbean>
       <proxy-factory>org.jboss.ejb.plugins.inflow.JBossMessageEndpointFactory</proxy-factory>
       <proxy-factory-config>
       <activation-config>
       <activation-config-property>
       <activation-config-property-name>hostName</activation-config-property-name>
       <activation-config-property-value>servername</activation-config-property-value>
       </activation-config-property>
       <activation-config-property>
       <activation-config-property-name>port</activation-config-property-name>
       <activation-config-property-value>1416</activation-config-property-value>
       </activation-config-property>
       <activation-config-property>
       <activation-config-property-name>queueManager</activation-config-property-name>
       <activation-config-property-value>QSWIQTA0</activation-config-property-value>
       </activation-config-property>
       <activation-config-property>
       <activation-config-property-name>channel</activation-config-property-name>
       <activation-config-property-value>CLI.XY</activation-config-property-value>
       </activation-config-property>
       <activation-config-property>
       <activation-config-property-name>messageSelector</activation-config-property-name>
       <activation-config-property-value><![CDATA[Service='XXX']]></activation-config-property-value>
       </activation-config-property>
       <activation-config-property>
       <activation-config-property-name>user</activation-config-property-name>
       <activation-config-property-value>pw</activation-config-property-value>
       </activation-config-property>
       <activation-config-property>
       <activation-config-property-name>password</activation-config-property-name>
       <activation-config-property-value></activation-config-property-value>
       </activation-config-property>
       </activation-config>
       <endpoint-interceptors>
       <interceptor>org.jboss.proxy.ClientMethodInterceptor</interceptor>
       <interceptor>org.jboss.ejb.plugins.inflow.MessageEndpointInterceptor</interceptor>
       <interceptor>org.jboss.proxy.TransactionInterceptor</interceptor>
       <interceptor>org.jboss.invocation.InvokerInterceptor</interceptor>
       </endpoint-interceptors>
       </proxy-factory-config>
       </invoker-proxy-binding>
      
      


      and container config

      <container-configuration>
       <container-name>ClassicWebSphereMqBean</container-name>
       <call-logging>false</call-logging>
       <invoker-proxy-binding-name>classic-wmq-message-driven-bean</invoker-proxy-binding-name>
       <container-interceptors>
       <interceptor>org.jboss.ejb.plugins.ProxyFactoryFinderInterceptor</interceptor>
       <interceptor>org.jboss.ejb.plugins.LogInterceptor</interceptor>
       <interceptor>org.jboss.ejb.plugins.RunAsSecurityInterceptor</interceptor>
       <!-- CMT -->
       <interceptor transaction="Container">org.jboss.ejb.plugins.TxInterceptorCMT</interceptor>
       <interceptor transaction="Container">org.jboss.ejb.plugins.CallValidationInterceptor</interceptor>
       <interceptor transaction="Container">org.jboss.ejb.plugins.MessageDrivenInstanceInterceptor</interceptor>
       <!-- BMT -->
       <interceptor transaction="Bean">org.jboss.ejb.plugins.MessageDrivenInstanceInterceptor</interceptor>
       <interceptor transaction="Bean">org.jboss.ejb.plugins.MessageDrivenTxInterceptorBMT</interceptor>
       <interceptor transaction="Bean">org.jboss.ejb.plugins.CallValidationInterceptor</interceptor>
       <interceptor>org.jboss.resource.connectionmanager.CachedConnectionInterceptor</interceptor>
       </container-interceptors>
       <instance-pool>org.jboss.ejb.plugins.MessageDrivenInstancePool</instance-pool>
       <instance-cache></instance-cache>
       <persistence-manager></persistence-manager>
       <container-pool-conf>
       <MaximumSize>100</MaximumSize>
       </container-pool-conf>
       </container-configuration>
      
      


      The Admin Object
      <server>
       <mbean code="org.jboss.resource.deployment.AdminObject" name="jboss.jca:service=WASDestination,name=QueueName">
       <depends optional-attribute-name="RARName">jboss.jca:service=RARDeployment,name='wmq.jmsra.rar'</depends>
       <attribute name="JNDIName">CLASSIC_WMQ_Q</attribute>
       <attribute name="Type">javax.jms.Queue</attribute>
       <attribute name="Properties">
       baseQueueManagerName=QSWIQTA0
       baseQueueName=Q.BESTELLUNG.REQUEST.2
       </attribute>
       </mbean>
      </server>
      


      the deployment descriptor in ejb-jar.xml

      <message-driven >
       <description><![CDATA[]]></description>
      
       <ejb-name>RqmMdb</ejb-name>
      
       <ejb-class>de.mycompany.rqm.jms.RqmMdb</ejb-class>
      
       <messaging-type>javax.jms.MessageListener</messaging-type>
       <transaction-type>Bean</transaction-type>
       <activation-config>
       <activation-config-property>
       <activation-config-property-name>destination</activation-config-property-name>
       <activation-config-property-value><![CDATA[CLASSIC_WMQ_Q]]></activation-config-property-value>
       </activation-config-property>
       <activation-config-property>
       <activation-config-property-name>destinationType</activation-config-property-name>
       <activation-config-property-value><![CDATA[javax.jms.Queue]]></activation-config-property-value>
       </activation-config-property>
       <activation-config-property>
       <activation-config-property-name>useJNDI</activation-config-property-name>
       <activation-config-property-value><![CDATA[true]]></activation-config-property-value>
       </activation-config-property>
       </activation-config>
      
       </message-driven>
      


      and the jboss descriptor

      <message-driven>
       <ejb-name>RqmMdb</ejb-name>
       <resource-adapter-name>wmq.jmsra.rar</resource-adapter-name>
       <configuration-name>ClassicWebSphereMqBean</configuration-name>
      
       </message-driven>