4 Replies Latest reply on Jun 26, 2019 11:24 AM by MoinAhmed

    Websphere MQ to WLS Bridge issue

    MoinAhmed

      Hi All,

       

      We have configured a bridge from Websphere MQ v9 to Weblogic server and we are getting an error below.

       

      and We have also setup multiple bridges, Some are with MQ v7.5 and they are working fine.

      The issue is coming for Bridge "MQToOSMV9-Bridge".

       

      Websphere Server

      ---------------------

      Name: IBM MQ

      Version: 9.0.4.0

      Platform: IBM MQ for AIX

      Mode: 64-bit

      O/S: AIX 7.1

       

      ####<Jun 17, 2019 7:08:25,087 PM PKT> <Info> <MessagingBridge> <OSM_Test_APP> <COM_MS1> <[ACTIVE] ExecuteThread: '40' for queue: 'weblogic.kernel.Default (self-tuning)'> <<WLS Kernel>> <> <f05b908e-cae1-4967-a447-f84b5507ad34-00000094> <1560780505087> <[severity-value: 64] [rid: 0] [partition-id: 0] [partition-name: DOMAIN] > <BEA-200042> <Bridge MQToOSMV9-Bridge@COM_MS1 failed to connect to the source destination and will try again in 35 seconds. This could be a temporary condition unless the messages repeat several times. (java.lang.Exception: weblogic.jms.bridge.TemporaryResourceException

              at weblogic.jms.adapter.JMSBaseConnection.startInternal(JMSBaseConnection.java:551)

              at weblogic.jms.adapter.JMSBaseConnection.start(JMSBaseConnection.java:264)

              at weblogic.jms.adapter.JMSManagedConnectionFactory.createManagedConnection(JMSManagedConnectionFactory.java:193)

              at weblogic.connector.security.layer.AdapterLayer.createManagedConnection(AdapterLayer.java:862)

              at weblogic.connector.outbound.ConnectionFactory.createResource(ConnectionFactory.java:92)

              at weblogic.common.resourcepool.ResourcePoolImpl.makeResource(ResourcePoolImpl.java:1537)

              at weblogic.common.resourcepool.ResourcePoolImpl.makeResources(ResourcePoolImpl.java:1397)

              at weblogic.common.resourcepool.ResourcePoolImpl.reserveResourceInternal(ResourcePoolImpl.java:451)

              at weblogic.common.resourcepool.ResourcePoolImpl.reserveResource(ResourcePoolImpl.java:360)

              at weblogic.common.resourcepool.ResourcePoolImpl.reserveResource(ResourcePoolImpl.java:340)

              at weblogic.connector.outbound.ConnectionPool.reserveResource(ConnectionPool.java:713)

              at weblogic.common.resourcepool.ResourcePoolImpl.reserveResource(ResourcePoolImpl.java:334)

              at weblogic.connector.outbound.ConnectionManagerImpl.getConnectionInfo(ConnectionManagerImpl.java:414)

              at weblogic.connector.outbound.ConnectionManagerImpl.getConnection(ConnectionManagerImpl.java:347)

              at weblogic.connector.outbound.ConnectionManagerImpl.allocateConnection(ConnectionManagerImpl.java:135)

              at weblogic.jms.adapter.JMSBaseConnectionFactory.getSourceConnection(JMSBaseConnectionFactory.java:93)

              at weblogic.jms.bridge.internal.MessagingBridge.getConnections(MessagingBridge.java:885)

              at weblogic.jms.bridge.internal.MessagingBridge.run(MessagingBridge.java:1130)

              at weblogic.work.SelfTuningWorkManagerImpl$WorkAdapterImpl.run(SelfTuningWorkManagerImpl.java:678)

              at weblogic.invocation.ComponentInvocationContextManager._runAs(ComponentInvocationContextManager.java:352)

              at weblogic.invocation.ComponentInvocationContextManager.runAs(ComponentInvocationContextManager.java:337)

              at weblogic.work.LivePartitionUtility.doRunWorkUnderContext(LivePartitionUtility.java:57)

              at weblogic.work.PartitionUtility.runWorkUnderContext(PartitionUtility.java:41)

              at weblogic.work.SelfTuningWorkManagerImpl.runWorkUnderContext(SelfTuningWorkManagerImpl.java:652)

              at weblogic.work.ExecuteThread.execute(ExecuteThread.java:420)

              at weblogic.work.ExecuteThread.run(ExecuteThread.java:360)

      )>

       

      please help its urgent...

       

      Regards

        • 1. Re: Websphere MQ to WLS Bridge issue
          Tom B-Oracle

          Odds are this is another IBM MQ configuration issue.  For example, maybe MQ9 requires newer MQ client jars, and you might be using older client jars.

           

          Some suggested next steps:

           

          (1) If the above log message was grabbed from the stdout log, there may be more information in the server log that could help.

           

          (2) If that doesn't help, follow the steps in the bridge documentation's troubleshooting/debugging guide to try and fund the underlying exception.

           

          (3) And/or try get a stand-alone MQ JMS client to work without any WL classes or WL server in the mix - once you get that to work, only then try to get the bridge to work...

           

          HTH,

          Tom

          • 2. Re: Websphere MQ to WLS Bridge issue
            MoinAhmed

            Hello

             

            I am using the below jar file and debugger, but unable to understand where the effects of it.

             

            com.ibm.mq.jar:

            com.ibm.mqjms.jar:

            fscontext.jar:

            providerutil.jar:

            com.ibm.mq.allclient.jar:

            jms.jar:

             

            -Dweblogic.debug.DebugMessagingBridgeStartup=true

            -Dweblogic.debug.DebugMessagingBridgeRuntime=true

            -Dweblogic.datasource.endLocalTxOnNonXaConWithRollback=true

            -Dweblogic.StdoutDebugEnabled=true 

            -Dweblogic.log.StdoutSeverity=Debug 

            -Dweblogic.logLogSeverity=Debug 

            -Dweblogic.log.LoggerSeverity=Debug

             

            after applying the debugger, below error is occuring in log file.

             

            <Jun 19, 2019 1:29:43,353 AM PKT> <Info> <com.mslv.oms.model.MetaDataManager> <BEA-000000> <VFSCleanupTask initiated for cleanup checks>

            <Jun 19, 2019 1:29:47,612 AM PKT> <Info> <MessagingBridge> <BEA-200033> <Bridge "MQToOSMV9-Bridge@COM_MS1" is obtaining connections to the two adapters.>

            <Jun 19, 2019 1:29:47,612 AM PKT> <Debug> <MessagingBridgeRuntime> <BEA-000000> <Bridge MQToOSMV9-Bridge@COM_MS1 Getting source connection>

            <Jun 19, 2019 1:29:47,618 AM PKT> <Info> <MessagingBridge> <BEA-200042> <Bridge MQToOSMV9-Bridge@COM_MS1 failed to connect to the source destination and will try again in 20 seconds. This could be a temporary condition unless the messages repeat several times. (java.lang.Exception: weblogic.jms.bridge.TemporaryResourceException

                    at weblogic.jms.adapter.JMSBaseConnection.startInternal(JMSBaseConnection.java:551)

                    at weblogic.jms.adapter.JMSBaseConnection.start(JMSBaseConnection.java:264)

                    at weblogic.jms.adapter.JMSManagedConnectionFactory.createManagedConnection(JMSManagedConnectionFactory.java:193)

                    at weblogic.connector.security.layer.AdapterLayer.createManagedConnection(AdapterLayer.java:862)

                    at weblogic.connector.outbound.ConnectionFactory.createResource(ConnectionFactory.java:92)

                    at weblogic.common.resourcepool.ResourcePoolImpl.makeResource(ResourcePoolImpl.java:1537)

                    at weblogic.common.resourcepool.ResourcePoolImpl.makeResources(ResourcePoolImpl.java:1397)

                    at weblogic.common.resourcepool.ResourcePoolImpl.reserveResourceInternal(ResourcePoolImpl.java:451)

                    at weblogic.common.resourcepool.ResourcePoolImpl.reserveResource(ResourcePoolImpl.java:360)

                    at weblogic.common.resourcepool.ResourcePoolImpl.reserveResource(ResourcePoolImpl.java:340)

                    at weblogic.connector.outbound.ConnectionPool.reserveResource(ConnectionPool.java:713)

                    at weblogic.common.resourcepool.ResourcePoolImpl.reserveResource(ResourcePoolImpl.java:334)

                    at weblogic.connector.outbound.ConnectionManagerImpl.getConnectionInfo(ConnectionManagerImpl.java:414)

                    at weblogic.connector.outbound.ConnectionManagerImpl.getConnection(ConnectionManagerImpl.java:347)

                    at weblogic.connector.outbound.ConnectionManagerImpl.allocateConnection(ConnectionManagerImpl.java:135)

                    at weblogic.jms.adapter.JMSBaseConnectionFactory.getSourceConnection(JMSBaseConnectionFactory.java:93)

                    at weblogic.jms.bridge.internal.MessagingBridge.getConnections(MessagingBridge.java:885)

                    at weblogic.jms.bridge.internal.MessagingBridge.run(MessagingBridge.java:1130)

                    at weblogic.work.SelfTuningWorkManagerImpl$WorkAdapterImpl.run(SelfTuningWorkManagerImpl.java:678)

                    at weblogic.invocation.ComponentInvocationContextManager._runAs(ComponentInvocationContextManager.java:352)

                    at weblogic.invocation.ComponentInvocationContextManager.runAs(ComponentInvocationContextManager.java:337)

                    at weblogic.work.LivePartitionUtility.doRunWorkUnderContext(LivePartitionUtility.java:57)

                    at weblogic.work.PartitionUtility.runWorkUnderContext(PartitionUtility.java:41)

                    at weblogic.work.SelfTuningWorkManagerImpl.runWorkUnderContext(SelfTuningWorkManagerImpl.java:652)

                    at weblogic.work.ExecuteThread.execute(ExecuteThread.java:420)

                    at weblogic.work.ExecuteThread.run(ExecuteThread.java:360)

            )>

             

             

            <Jun 19, 2019 1:32:18,614 AM PKT> <Info> <MessagingBridge> <BEA-200042> <Bridge MQToOSMV9-Bridge@COM_MS1 failed to connect to the source destination and will try again in 45 seconds. This could be a temporary condition unless the messages repeat several times. (java.lang.Exception: weblogic.connector.exception.RetryableApplicationServerInternalException: Unable to get a connection for pool = "eis/jms/internal/WLSConnectionFactoryJNDIXA", weblogic.common.ConnectDisabledException: Pool "eis/jms/internal/WLSConnectionFactoryJNDIXA" is disabled, cannot allocate resources to applications.

                    at weblogic.connector.outbound.ConnectionManagerImpl.getConnectionInfo(ConnectionManagerImpl.java:456)

                    at weblogic.connector.outbound.ConnectionManagerImpl.getConnection(ConnectionManagerImpl.java:347)

                    at weblogic.connector.outbound.ConnectionManagerImpl.allocateConnection(ConnectionManagerImpl.java:135)

                    at weblogic.jms.adapter.JMSBaseConnectionFactory.getSourceConnection(JMSBaseConnectionFactory.java:93)

                    at weblogic.jms.bridge.internal.MessagingBridge.getConnections(MessagingBridge.java:885)

                    at weblogic.jms.bridge.internal.MessagingBridge.run(MessagingBridge.java:1130)

                    at weblogic.work.SelfTuningWorkManagerImpl$WorkAdapterImpl.run(SelfTuningWorkManagerImpl.java:678)

                    at weblogic.invocation.ComponentInvocationContextManager._runAs(ComponentInvocationContextManager.java:352)

                    at weblogic.invocation.ComponentInvocationContextManager.runAs(ComponentInvocationContextManager.java:337)

                    at weblogic.work.LivePartitionUtility.doRunWorkUnderContext(LivePartitionUtility.java:57)

                    at weblogic.work.PartitionUtility.runWorkUnderContext(PartitionUtility.java:41)

                    at weblogic.work.SelfTuningWorkManagerImpl.runWorkUnderContext(SelfTuningWorkManagerImpl.java:652)

                    at weblogic.work.ExecuteThread.execute(ExecuteThread.java:420)

                    at weblogic.work.ExecuteThread.run(ExecuteThread.java:360)

            Caused by: weblogic.common.ConnectDisabledException: Pool "eis/jms/internal/WLSConnectionFactoryJNDIXA" is disabled, cannot allocate resources to applications.

                    at weblogic.connector.outbound.ConnectionPool.reserveResource(ConnectionPool.java:701)

                    at weblogic.common.resourcepool.ResourcePoolImpl.reserveResource(ResourcePoolImpl.java:334)

                    at weblogic.connector.outbound.ConnectionManagerImpl.getConnectionInfo(ConnectionManagerImpl.java:414)

                    ... 13 more

             

            Regards

            • 3. Re: Websphere MQ to WLS Bridge issue
              Tom B-Oracle

              - Make sure your bridge config is exactly the same as for your older versions of MQ, as you know the bridge config for the older version is working fine. 

               

              - Make sure your MQ client jars are for a new version that's compatible with your new version of MQ Server.  I don't know how to do this - consult your MQ doc.

               

              If that doesn't help, move on to step (3) above - which is to first try to get things working with WL in the mix.   A WL bridge is simply a standard JMS client as far as MQ is concerned, so if you can get a standard MQ JMS client to work without the bridge, the bridge should be able to work too.

              • 4. Re: Websphere MQ to WLS Bridge issue
                MoinAhmed

                HI Tom,

                 

                Thanks for the support

                 

                com.ibm.mq.allclient.jar

                com.ibm.mq.traceControl.jar

                jms.jar

                fscontext.jar

                providerutil.jar

                bcpkix-jdk15on*.jar

                bcprov-jdk15on*.jar

                 

                The issue has been resolved, we have used the above jar files in weblogic classpath, and it is a new functionality of MQ v9 hasn't allow the external user to access in MQ environment without the permission.

                 

                so, we have used the MQ user in weblogic console for authentication and after this bridge is properly communicate with each other.