4 Replies Latest reply: Sep 4, 2012 12:27 PM by 959882 RSS

    IBM MQ Server as destination for JMS Queue on weblogic

    user700370
      Is it possible to send messages from a JMS Queue on weblogic to a destination on IBM MQ Server? Appreciate if you can point me to any information including any limitations.
      Thanks.
        • 1. Re: IBM MQ Server as destination for JMS Queue on weblogic
          anjhawar - oracle
          Yes, we can send JMS messages from a WLS destination to IBM MQ destination. We can create a client (standalone/JSP/EJB (stateless/stateful/MDB)) or use the features/solutions like JMS messaging bridge provided by WLS OOB(out of the box). Additionally, it depends of the business case, if your end goal to send the message from an application deployed on WLS to IBM destination, then you can consider foreign JMS server would be a better approach. You can look in the Oracle docs for more information in this context.

          For creating messaging bridge you can review:

          http://wls4mscratch.wordpress.com/2010/06/22/steps-to-create-jms-bridge-between-wls-and-ibm-websphere-mq/
          • 2. Re: IBM MQ Server as destination for JMS Queue on weblogic
            Tom B
            Yes! MQ integration is fully supported. The only limitation I recall is that MQ may require a licensed client for exactly-once messaging (XA/JTA) access to an MQ server that's hosted on a different machine than WebLogic. There are a variety of integration approaches - I recommend reading through the following FAQ to find the one that applies best to your use case:

            Integrating Remote and Foreign JMS Providers
            http://docs.oracle.com/cd/E21764_01/web.1111/e13727/interop.htm#JMSPG553

            Here are a few references:

            WebLogic Messaging Page
            http://www.oracle.com/technetwork/middleware/weblogic/messaging

            Integrating WebSphere MQ6 with BEA WebLogic Server 10 using WebLogic Server's Foreign (JMS) Server feature (external blog)
            http://ibswings.blogspot.com/2008/02/integrating-mq-broker-6-with-bea.html

            Configuring WebLogic Server's Messaging Bridge with Foreign JMS (external blog)
            http://tim.blackamber.org.uk/?p=614

            HTH,

            Tom
            • 3. Re: IBM MQ Server as destination for JMS Queue on weblogic
              827808
              Hello,

              Yes you can. Follow the instructions in the link for the complete configuration:

              http://weblogic-wonders.com/weblogic/2010/11/24/weblogic-foreign-jms-server-configuration-with-mq-series/

              Regards,
              Divya
              • 4. Re: IBM MQ Server as destination for JMS Queue on weblogic
                959882
                MDB is not able to connect destination on the Foreign JMS Server. I have the bindings file for the MQ created in file:/C:/JNDI-Directory

                <Sep 4, 2012 11:38:45 AM EDT> <Warning> <EJB> <BEA-010061> <The Message-Driven E
                JB: MessageDrivenEJBBean is unable to connect to the JMS destination: jms/q.
                The Error was:
                The destination for the MDB MessageDrivenEJBBean could not be resolved at this
                time. Please ensure the destination is available at the JNDI name jms/q. T
                he EJB container will periodically attempt to resolve this MDB destination and a
                dditional warnings may be issued.>

                --------------------------------------------------------------------------------
                I followed the instructions as specified in
                Integrating WebSphere MQ6 with BEA WebLogic Server 10 using WebLogic Server's Foreign (JMS) Server feature (external blog)
                http://ibswings.blogspot.com/2008/02/integrating-mq-broker-6-with-bea.html

                --------------------------------------------------------------------------------
                Contents from weblogic-ejb-jar.xml

                <ejb-name>MessageDrivenEJBBean</ejb-name>
                <message-driven-descriptor>
                <destination-jndi-name>jms/q</destination-jndi-name>
                <connection-factory-jndi-name>jms/qcf</connection-factory-jndi-name>
                </message-driven-descriptor>
                </weblogic-enterprise-bean>
                </weblogic-ejb-jar>

                --------------------------------------------------------------------------------
                Contents from Config's descriptor file <descriptor-file-name>jms/mqintegrationtest-jms.xml</descriptor-file-name>

                <weblogic-jms xmlns="http://xmlns.oracle.com/weblogic/weblogic-jms" xmlns:sec="http://xmlns.oracle.com/weblogic/security" xmlns:wls="http://xmlns.oracle.com/weblogic/security/wls" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:schemaLocation="http://xmlns.oracle.com/weblogic/weblogic-jms http://xmlns.oracle.com/weblogic/weblogic-jms/1.1/weblogic-jms.xsd">
                <foreign-server name="MQTestForeignServer">
                <default-targeting-enabled>true</default-targeting-enabled>
                <foreign-destination name="ForeignQueue">
                <local-jndi-name>jms/q</local-jndi-name>
                <remote-jndi-name>q</remote-jndi-name>
                </foreign-destination>
                <foreign-connection-factory name="ForeignConnectionFactoryQCF">
                <local-jndi-name>jms/qcf</local-jndi-name>
                <remote-jndi-name>qcf</remote-jndi-name>
                </foreign-connection-factory>
                <initial-context-factory>com.sun.jndi.fscontext.RefFSContextFactory</initial-context-factory>
                <connection-url>file:/C:/JNDI-Directory</connection-url>
                </foreign-server>
                </weblogic-jms>

                Thanks