Not able to get MQ ConnectionFactory - Weblogic

This is a discussion on Not able to get MQ ConnectionFactory - Weblogic ; Hi, I use WebLogic 8.1 with MQ version 5.3. I am trying to run a test MDB on these platforms. But my client is not able to get connection to the JNDI of QueueConnection Factory. These are the things I ...

+ Reply to Thread
Results 1 to 6 of 6

Thread: Not able to get MQ ConnectionFactory

  1. Not able to get MQ ConnectionFactory


    Hi,
    I use WebLogic 8.1 with MQ version 5.3. I am trying to run a test MDB on these
    platforms. But my client is not able to get connection to the JNDI of QueueConnection
    Factory.
    These are the things I did.

    1) I created a simple MDB and deployed on to the weblogic server.
    2) configured a foreign JMS Server with JNDI address "com.sun.jndi.fscontext.RefFSContextFactory"
    name of the server is "ForeignJMSServer" and provider Url is "file:/C:/My/FSCTX".

    3)configured a foreign JMS Queue with jndi local name "XAQCF", remote jndi name
    "XAQCF" and name of the queue is XAQCF.
    4)Configured the destination also in the same fashion.

    Configured all the same values(Queue Connection Factory and Queue) on IBM MQ also.

    but first thing is I am not able to get connection to my Connection Factory in
    my client program.
    I got the InitialContext to the WebLogic server successfully.
    the exception was not able to retrive the JNDI name that I was looking for.

    Where and what I am mising? Please can any one help me with this one? I appreciate
    your valuable time.

    Thanks,
    Ugender


  2. Re: Not able to get MQ ConnectionFactory

    Need more info. Please post stack trace,
    code snippet, config.xml entries, and,
    if you are using resource-references, please also
    post the EJB descriptors.

    Ugender wrote:

    > Hi,
    > I use WebLogic 8.1 with MQ version 5.3. I am trying to run a test MDB on these
    > platforms. But my client is not able to get connection to the JNDI of QueueConnection
    > Factory.
    > These are the things I did.
    >
    > 1) I created a simple MDB and deployed on to the weblogic server.
    > 2) configured a foreign JMS Server with JNDI address "com.sun.jndi.fscontext.RefFSContextFactory"
    > name of the server is "ForeignJMSServer" and provider Url is "file:/C:/My/FSCTX".
    >
    > 3)configured a foreign JMS Queue with jndi local name "XAQCF", remote jndi name
    > "XAQCF" and name of the queue is XAQCF.
    > 4)Configured the destination also in the same fashion.
    >
    > Configured all the same values(Queue Connection Factory and Queue) on IBM MQ also.
    >
    > but first thing is I am not able to get connection to my Connection Factory in
    > my client program.
    > I got the InitialContext to the WebLogic server successfully.
    > the exception was not able to retrive the JNDI name that I was looking for.
    >
    > Where and what I am mising? Please can any one help me with this one? I appreciate
    > your valuable time.
    >
    > Thanks,
    > Ugender
    >



  3. Re: Not able to get MQ ConnectionFactory

    Hi,

    I'm not sure why the client lookup
    isn't working. One thing to
    do is to make sure that the client
    has all of the MQ jars in its
    classpath, another is make sure
    that the correct MQ factory
    is specified (MQ
    requires the TCP/IP factory
    for remote clients.)

    Note that WebLogic does not support
    enlisting non-WebLogic XA resources on
    a client. Therefore, foreign JMS
    vendors can not participate in a
    WL transaction unless they are
    actually called from an application
    running on a WL server.

    Also note that IBM MQ does not support XA
    unless either (A) the MQ client runs on the same host
    machine as MQ server or (B) IBM's new "extended client"
    product is used.

    You can get XA on the server side through:
    MDBs, messaging bridges, and resource references.
    The latter is not required, but wraps
    the resource so as to automatically pool
    it and to automatically
    performs the XA enlistment step - a helpful thing
    for app code that directly invoke methods on
    foreign resources.

    See attached for a mini-FAQ on JMS XA integration.

    Tom

    Ugender wrote:

    > Hi Tom,
    > Thanks for your email. Here I am attaching my files
    > including deployment descriptors.
    >
    > I created Connection Factory name and Queue name as
    > specified in my weblogic-ejb-jar.xml file. And used
    > the same names while creating same connection factory
    > name and queue name in the WebLogic Server's foreign
    > JMS server.
    >
    > This is my first program using IBM MQ. Please guide me
    > with your valuable thoughts and directions to learn it
    > fast.
    >
    > Thanks a lot,
    > Ugender
    >
    >
    >
    > Tom Barnes
    > wrote:
    >
    >>Need more info. Please post stack trace,
    >>code snippet, config.xml entries, and,
    >>if you are using resource-references, please also
    >>post the EJB descriptors.
    >>
    >>Ugender wrote:
    >>
    >>
    >>>Hi,
    >>>I use WebLogic 8.1 with MQ version 5.3. I am trying to run a test MDB

    >>
    >>on these
    >>
    >>>platforms. But my client is not able to get connection to the JNDI

    >>
    >>of QueueConnection
    >>
    >>>Factory.
    >>>These are the things I did.
    >>>
    >>>1) I created a simple MDB and deployed on to the weblogic server.
    >>>2) configured a foreign JMS Server with JNDI address "com.sun.jndi.fscontext.RefFSContextFactory"
    >>>name of the server is "ForeignJMSServer" and provider Url is "file:/C:/My/FSCTX".
    >>>
    >>>3)configured a foreign JMS Queue with jndi local name "XAQCF", remote

    >>
    >>jndi name
    >>
    >>>"XAQCF" and name of the queue is XAQCF.
    >>>4)Configured the destination also in the same fashion.
    >>>
    >>>Configured all the same values(Queue Connection Factory and Queue)

    >>
    >>on IBM MQ also.
    >>
    >>>but first thing is I am not able to get connection to my Connection

    >>
    >>Factory in
    >>
    >>>my client program.
    >>>I got the InitialContext to the WebLogic server successfully.
    >>>the exception was not able to retrive the JNDI name that I was looking

    >>
    >>for.
    >>
    >>>Where and what I am mising? Please can any one help me with this one?

    >>
    >>I appreciate
    >>
    >>>your valuable time.
    >>>
    >>>Thanks,
    >>>Ugender
    >>>

    >>


    Transactional Integration of Foreign JMS Vendors with BEA WebLogic Server
    -------------------------------------------------------------------------

    The following notes are derived mostly from "http://dev2dev.bea.com/technologies/jms/index.jsp".

    For additional questions, a good forum for WebLogic questions in general is "newsgroups.bea.com". These can be mined for information by using Google's newsgroup search function.


    Feature Overview
    ----------------

    - For a foreign JMS vendor to participate in a WL transaction it must support XA. Specifically, it must support the javax.jms.XA* interfaces.

    - In WL versions 6.0 and up it is possible to make synchronous calls to foreign JMS vendors participate in a WL transaction as long as the foreign vendor supports XA.

    - WL 6.0 and 6.1 MDBs can be driven by foreign vendors non-transactionally. They can be driven transactionally by a select few foreign vendors (MQ is not part of the select few)

    - WL 7.0 and later, MDBs can be driven by foreign vendors transactionally and non-transationally.

    - WL 6.1 and later messaging bridges can be driven by foreign vendors transactionally and non-transactionally.

    - WL 8.1 JMS provides features that simplify transactional and JNDI integration of foreign vendors. See http://edocs.bea.com/wls/docs81/jms/...l#jms_features


    Integration with 8.1 Details
    ----------------------------

    A good overview of 8.1 JMS interop capability is the presentation "Integrating Foreign JMS Providers with BEA WebLogic Server" here:

    http://www.bea.com/content/files/ewo...viders_WLS.pdf

    This document refers to helpful new 8.1 features, which simplify integration. These include:

    http://edocs.bea.com/wls/docs81/Cons...eign_providers
    http://edocs.bea.com/wls/docs81/jms/...s.html#1033768

    And are also summarized here (under interoperability):

    http://edocs.bea.com/wls/docs81/jms/...l#jms_features

    The 8.1 features are likely sufficient for most 8.1 integration needs, and you may not need to refer "Using Foreign JMS Providers With WLS" white-paper mentioned below.


    Integration with 6.1 and 7.0 Details
    ------------------------------------

    Read the "Using Foreign JMS Providers With WLS" white-paper:

    http://dev2dev.bea.com/products/wlse...sproviders.jsp

    Note that this white-paper does not take into account 8.1 features.


    MQ Remote Capable XA Clients
    ----------------------------

    Until recently, IBM MQ JMS clients could not work transactionally unless they were running on the same host as their MQ server. This is a limitation unique to MQ that was relaxed with the introduction of IBM's new "WebSphere MQ Extended Transactional Client". See:

    http://publibfp.boulder.ibm.com/epubs/pdf/csqzar00.pdf

    The product is new, and for some reason, configuration of this client seems to be tricky, even when WebLogic is not involved at all. Oddly, the main sticking point seems to be simply making sure that class paths refer to the required IBM jars:

    - Required on WLS where MQ objects are bound into JNDI:
    com.ibm.mq.jar, com.ibm.mqjms.jar

    - Required only if MQ objects are bound into JNDI on a different server:
    com.ibm.mq.jar

    If there are problems when using this client, first get it to work using a pure IBM client without any BEA classes involved. Once that is working, search the WL JMS newsgroup for answers and/or contact BEA customer support.


    MDB Thread Pool Notes
    ---------------------

    WL7.0SP? and WL8.1 and later support the "dispatch-policy" field to specify which thread pool an MDB uses to run its instances. In most cases this field should be configured to help address potential performance issues and/or dead-locks:

    http://edocs.bea.com/wls/docs81/ejb/...ispatch-policy

    (Note that "dispatch-policy" is ignored for non-transactional foreign vendors; in this case, the MDB "onMessage" callback runs in the foreign vendor's thread.)


    MDB Concurrency Notes
    ---------------------

    Queue MDBs driven by foreign providers can run multiple instances concurrently. Topic MDBs driven by foreign providers are limited to one instance (not sure, but transactional foreign driven topic MDBs may not have this limitation). The size of the thread pool that the MDB runs in and the "max-beans-in-free-pool" descriptor limit how many instances run concurrently.


    Performance Tuning Notes
    ------------------------

    The "WebLogic JMS Performance Guide" white-paper contains detailed performance design and tuning information for the Messaging Bridge, JMS, and MDBs.

    http://dev2dev.bea.com/products/wlse...Perform_GD.jsp


  4. Re: Not able to get MQ ConnectionFactory


    Tom Barnes
    wrote:
    >
    >Hi,
    >
    >I'm not sure why the client lookup
    >isn't working. One thing to
    >do is to make sure that the client
    >has all of the MQ jars in its
    >classpath, another is make sure
    >that the correct MQ factory
    >is specified (MQ
    >requires the TCP/IP factory
    >for remote clients.)
    >
    >Note that WebLogic does not support
    >enlisting non-WebLogic XA resources on
    >a client. Therefore, foreign JMS
    >vendors can not participate in a
    >WL transaction unless they are
    >actually called from an application
    >running on a WL server.
    >
    >Also note that IBM MQ does not support XA
    >unless either (A) the MQ client runs on the same host
    >machine as MQ server or (B) IBM's new "extended client"
    >product is used.
    >
    >You can get XA on the server side through:
    >MDBs, messaging bridges, and resource references.
    >The latter is not required, but wraps
    >the resource so as to automatically pool
    >it and to automatically
    >performs the XA enlistment step - a helpful thing
    >for app code that directly invoke methods on
    >foreign resources.
    >
    >See attached for a mini-FAQ on JMS XA integration.
    >
    >Tom
    >
    >Ugender wrote:
    >
    >> Hi Tom,
    >> Thanks for your email. Here I am attaching my files
    >> including deployment descriptors.
    >>
    >> I created Connection Factory name and Queue name as
    >> specified in my weblogic-ejb-jar.xml file. And used
    >> the same names while creating same connection factory
    >> name and queue name in the WebLogic Server's foreign
    >> JMS server.
    >>
    >> This is my first program using IBM MQ. Please guide me
    >> with your valuable thoughts and directions to learn it
    >> fast.
    >>
    >> Thanks a lot,
    >> Ugender
    >>
    >>
    >>
    >> Tom Barnes
    >> wrote:
    >>
    >>>Need more info. Please post stack trace,
    >>>code snippet, config.xml entries, and,
    >>>if you are using resource-references, please also
    >>>post the EJB descriptors.
    >>>
    >>>Ugender wrote:
    >>>
    >>>
    >>>>Hi,
    >>>>I use WebLogic 8.1 with MQ version 5.3. I am trying to run a test

    >MDB
    >>>
    >>>on these
    >>>
    >>>>platforms. But my client is not able to get connection to the JNDI
    >>>
    >>>of QueueConnection
    >>>
    >>>>Factory.
    >>>>These are the things I did.
    >>>>
    >>>>1) I created a simple MDB and deployed on to the weblogic server.
    >>>>2) configured a foreign JMS Server with JNDI address "com.sun.jndi.fscontext.RefFSContextFactory"
    >>>>name of the server is "ForeignJMSServer" and provider Url is "file:/C:/My/FSCTX".
    >>>>
    >>>>3)configured a foreign JMS Queue with jndi local name "XAQCF", remote
    >>>
    >>>jndi name
    >>>
    >>>>"XAQCF" and name of the queue is XAQCF.
    >>>>4)Configured the destination also in the same fashion.
    >>>>
    >>>>Configured all the same values(Queue Connection Factory and Queue)
    >>>
    >>>on IBM MQ also.
    >>>
    >>>>but first thing is I am not able to get connection to my Connection
    >>>
    >>>Factory in
    >>>
    >>>>my client program.
    >>>>I got the InitialContext to the WebLogic server successfully.
    >>>>the exception was not able to retrive the JNDI name that I was looking
    >>>
    >>>for.
    >>>
    >>>>Where and what I am mising? Please can any one help me with this one?
    >>>
    >>>I appreciate
    >>>
    >>>>your valuable time.
    >>>>
    >>>>Thanks,
    >>>>Ugender
    >>>>
    >>>

    >
    >
    >Transactional Integration of Foreign JMS Vendors with BEA WebLogic Server
    >-------------------------------------------------------------------------
    >
    >The following notes are derived mostly from "http://dev2dev.bea.com/technologies/jms/index.jsp".
    >
    >
    >For additional questions, a good forum for WebLogic questions in general
    >is "newsgroups.bea.com". These can be mined for information by using
    >Google's newsgroup search function.
    >
    >
    >Feature Overview
    >----------------
    >
    >- For a foreign JMS vendor to participate in a WL transaction it must
    >support XA. Specifically, it must support the javax.jms.XA* interfaces.
    >
    >- In WL versions 6.0 and up it is possible to make synchronous calls
    >to foreign JMS vendors participate in a WL transaction as long as the
    >foreign vendor supports XA.
    >
    >- WL 6.0 and 6.1 MDBs can be driven by foreign vendors non-transactionally.
    > They can be driven transactionally by a select few foreign vendors
    >(MQ is not part of the select few)
    >
    >- WL 7.0 and later, MDBs can be driven by foreign vendors transactionally
    >and non-transationally.
    >
    >- WL 6.1 and later messaging bridges can be driven by foreign vendors
    >transactionally and non-transactionally.
    >
    >- WL 8.1 JMS provides features that simplify transactional and JNDI integration
    >of foreign vendors. See http://edocs.bea.com/wls/docs81/jms/...l#jms_features
    >
    >
    >Integration with 8.1 Details
    >----------------------------
    >
    >A good overview of 8.1 JMS interop capability is the presentation "Integrating
    >Foreign JMS Providers with BEA WebLogic Server" here:
    >
    >http://www.bea.com/content/files/ewo...viders_WLS.pdf
    >
    >This document refers to helpful new 8.1 features, which simplify integration.
    > These include:
    >
    >http://edocs.bea.com/wls/docs81/Cons...eign_providers
    >http://edocs.bea.com/wls/docs81/jms/...s.html#1033768
    >
    >And are also summarized here (under interoperability):
    >
    >http://edocs.bea.com/wls/docs81/jms/...l#jms_features
    >
    >The 8.1 features are likely sufficient for most 8.1 integration needs,
    >and you may not need to refer "Using Foreign JMS Providers With WLS"
    >white-paper mentioned below.
    >
    >
    >Integration with 6.1 and 7.0 Details
    >------------------------------------
    >
    >Read the "Using Foreign JMS Providers With WLS" white-paper:
    >
    >http://dev2dev.bea.com/products/wlse...sproviders.jsp
    >
    >Note that this white-paper does not take into account 8.1 features.
    >
    >
    >MQ Remote Capable XA Clients
    >----------------------------
    >
    >Until recently, IBM MQ JMS clients could not work transactionally unless
    >they were running on the same host as their MQ server. This is a limitation
    >unique to MQ that was relaxed with the introduction of IBM's new "WebSphere
    >MQ Extended Transactional Client". See:
    >
    >http://publibfp.boulder.ibm.com/epubs/pdf/csqzar00.pdf
    >
    >The product is new, and for some reason, configuration of this client
    >seems to be tricky, even when WebLogic is not involved at all. Oddly,
    >the main sticking point seems to be simply making sure that class paths
    >refer to the required IBM jars:
    >
    >- Required on WLS where MQ objects are bound into JNDI:
    >com.ibm.mq.jar, com.ibm.mqjms.jar
    >
    >- Required only if MQ objects are bound into JNDI on a different server:
    >com.ibm.mq.jar
    >
    >If there are problems when using this client, first get it to work using
    >a pure IBM client without any BEA classes involved. Once that is working,
    >search the WL JMS newsgroup for answers and/or contact BEA customer
    >support.
    >
    >
    >MDB Thread Pool Notes
    >---------------------
    >
    >WL7.0SP? and WL8.1 and later support the "dispatch-policy" field to specify
    >which thread pool an MDB uses to run its instances. In most cases this
    >field should be configured to help address potential performance issues
    >and/or dead-locks:
    >
    >http://edocs.bea.com/wls/docs81/ejb/...ispatch-policy
    >
    >(Note that "dispatch-policy" is ignored for non-transactional foreign
    >vendors; in this case, the MDB "onMessage" callback runs in the foreign
    >vendor's thread.)
    >
    >
    >MDB Concurrency Notes
    >---------------------
    >
    >Queue MDBs driven by foreign providers can run multiple instances concurrently.
    >Topic MDBs driven by foreign providers are limited to one instance (not
    >sure, but transactional foreign driven topic MDBs may not have this
    >limitation). The size of the thread pool that the MDB runs in and the
    >"max-beans-in-free-pool" descriptor limit how many instances run concurrently.
    >
    >
    >Performance Tuning Notes
    >------------------------
    >
    >The "WebLogic JMS Performance Guide" white-paper contains detailed performance
    >design and tuning information for the Messaging Bridge, JMS, and MDBs.
    >
    >http://dev2dev.bea.com/products/wlse...Perform_GD.jsp
    >
    >


    If the File System Provider binding is successful, there should be a file called
    .bindingins under your C:\My\FSCTX directory . Do you have that ? May be you can
    post it here?


  5. Re: Not able to get MQ ConnectionFactory

    This is an MQ JMS exception, not a BEA JMS exception.
    Anyway, you are not using IBM's pure Java client - likely
    because you need XA and choose not to use their
    "Extended" JMS client product. This means that
    you need to make sure that IBM's native code DLLs
    are available to the JVM. I'm not exactly sure how this is
    done for MQ - but perhaps simply making sure that they
    are in your PATH (not your CLASSPATH, your file PATH)
    would be sufficient (or figure out how to
    set java.library.path).

    Ugender wrote:

    > Hi,
    > I think I solved partial problem but still have to figure out what is going wrong
    > when try to call createQueueConnection() method. Please see the exceptions file
    > where I attached the out put when I run Client.java program. It is printing till
    > "flag 5" (System.out.print statements I used in my Client.java Program).
    >
    > I am getting these exceptions "java.lang.UnsatisfiedLinkError: Can't find library
    > mqjbnd05 (MQJBND05.DLL) in java.library.path ".
    > Please see my exceptions file in attached ZIP Folder for detailed information
    > and help me in what and where I am missing..
    > By the way I attached .bindings file too.
    >
    > Thanks for your valuable time.
    > Ugender
    >
    >
    >
    >
    >
    > "L Muralidharan" wrote:
    >
    >>Tom Barnes
    >>wrote:
    >>
    >>>Hi,
    >>>
    >>>I'm not sure why the client lookup
    >>>isn't working. One thing to
    >>>do is to make sure that the client
    >>>has all of the MQ jars in its
    >>>classpath, another is make sure
    >>>that the correct MQ factory
    >>>is specified (MQ
    >>>requires the TCP/IP factory
    >>>for remote clients.)
    >>>
    >>>Note that WebLogic does not support
    >>>enlisting non-WebLogic XA resources on
    >>>a client. Therefore, foreign JMS
    >>>vendors can not participate in a
    >>>WL transaction unless they are
    >>>actually called from an application
    >>>running on a WL server.
    >>>
    >>>Also note that IBM MQ does not support XA
    >>>unless either (A) the MQ client runs on the same host
    >>>machine as MQ server or (B) IBM's new "extended client"
    >>>product is used.
    >>>
    >>>You can get XA on the server side through:
    >>>MDBs, messaging bridges, and resource references.
    >>>The latter is not required, but wraps
    >>>the resource so as to automatically pool
    >>>it and to automatically
    >>>performs the XA enlistment step - a helpful thing
    >>>for app code that directly invoke methods on
    >>>foreign resources.
    >>>
    >>>See attached for a mini-FAQ on JMS XA integration.
    >>>
    >>>Tom
    >>>
    >>>Ugender wrote:
    >>>
    >>>
    >>>>Hi Tom,
    >>>>Thanks for your email. Here I am attaching my files
    >>>>including deployment descriptors.
    >>>>
    >>>>I created Connection Factory name and Queue name as
    >>>>specified in my weblogic-ejb-jar.xml file. And used
    >>>>the same names while creating same connection factory
    >>>>name and queue name in the WebLogic Server's foreign
    >>>>JMS server.
    >>>>
    >>>>This is my first program using IBM MQ. Please guide me
    >>>>with your valuable thoughts and directions to learn it
    >>>>fast.
    >>>>
    >>>>Thanks a lot,
    >>>>Ugender
    >>>>
    >>>>
    >>>>
    >>>>Tom Barnes
    >>>>wrote:
    >>>>
    >>>>
    >>>>>Need more info. Please post stack trace,
    >>>>>code snippet, config.xml entries, and,
    >>>>>if you are using resource-references, please also
    >>>>>post the EJB descriptors.
    >>>>>
    >>>>>Ugender wrote:
    >>>>>
    >>>>>
    >>>>>
    >>>>>>Hi,
    >>>>>>I use WebLogic 8.1 with MQ version 5.3. I am trying to run a test
    >>>
    >>>MDB
    >>>
    >>>>>on these
    >>>>>
    >>>>>
    >>>>>>platforms. But my client is not able to get connection to the JNDI
    >>>>>
    >>>>>of QueueConnection
    >>>>>
    >>>>>
    >>>>>>Factory.
    >>>>>>These are the things I did.
    >>>>>>
    >>>>>>1) I created a simple MDB and deployed on to the weblogic server.
    >>>>>>2) configured a foreign JMS Server with JNDI address "com.sun.jndi.fscontext.RefFSContextFactory"
    >>>>>>name of the server is "ForeignJMSServer" and provider Url is "file:/C:/My/FSCTX".
    >>>>>>
    >>>>>>3)configured a foreign JMS Queue with jndi local name "XAQCF", remote
    >>>>>
    >>>>>jndi name
    >>>>>
    >>>>>
    >>>>>>"XAQCF" and name of the queue is XAQCF.
    >>>>>>4)Configured the destination also in the same fashion.
    >>>>>>
    >>>>>>Configured all the same values(Queue Connection Factory and Queue)
    >>>>>
    >>>>>on IBM MQ also.
    >>>>>
    >>>>>
    >>>>>>but first thing is I am not able to get connection to my Connection
    >>>>>
    >>>>>Factory in
    >>>>>
    >>>>>
    >>>>>>my client program.
    >>>>>>I got the InitialContext to the WebLogic server successfully.
    >>>>>>the exception was not able to retrive the JNDI name that I was looking
    >>>>>
    >>>>>for.
    >>>>>
    >>>>>
    >>>>>>Where and what I am mising? Please can any one help me with this

    >>
    >>one?
    >>
    >>>>>I appreciate
    >>>>>
    >>>>>
    >>>>>>your valuable time.
    >>>>>>
    >>>>>>Thanks,
    >>>>>>Ugender
    >>>>>>
    >>>>>
    >>>
    >>>Transactional Integration of Foreign JMS Vendors with BEA WebLogic Server
    >>>-------------------------------------------------------------------------
    >>>
    >>>The following notes are derived mostly from "http://dev2dev.bea.com/technologies/jms/index.jsp".
    >>>
    >>>
    >>>For additional questions, a good forum for WebLogic questions in general
    >>>is "newsgroups.bea.com". These can be mined for information by using
    >>>Google's newsgroup search function.
    >>>
    >>>
    >>>Feature Overview
    >>>----------------
    >>>
    >>>- For a foreign JMS vendor to participate in a WL transaction it must
    >>>support XA. Specifically, it must support the javax.jms.XA* interfaces.
    >>>
    >>>- In WL versions 6.0 and up it is possible to make synchronous calls
    >>>to foreign JMS vendors participate in a WL transaction as long as the
    >>>foreign vendor supports XA.
    >>>
    >>>- WL 6.0 and 6.1 MDBs can be driven by foreign vendors non-transactionally.
    >>>They can be driven transactionally by a select few foreign vendors
    >>>(MQ is not part of the select few)
    >>>
    >>>- WL 7.0 and later, MDBs can be driven by foreign vendors transactionally
    >>>and non-transationally.
    >>>
    >>>- WL 6.1 and later messaging bridges can be driven by foreign vendors
    >>>transactionally and non-transactionally.
    >>>
    >>>- WL 8.1 JMS provides features that simplify transactional and JNDI

    >>
    >>integration
    >>
    >>>of foreign vendors. See http://edocs.bea.com/wls/docs81/jms/...l#jms_features
    >>>
    >>>
    >>>Integration with 8.1 Details
    >>>----------------------------
    >>>
    >>>A good overview of 8.1 JMS interop capability is the presentation "Integrating
    >>>Foreign JMS Providers with BEA WebLogic Server" here:
    >>>
    >>>http://www.bea.com/content/files/ewo...viders_WLS.pdf
    >>>
    >>>This document refers to helpful new 8.1 features, which simplify integration.
    >>>These include:
    >>>
    >>>http://edocs.bea.com/wls/docs81/Cons...eign_providers
    >>>http://edocs.bea.com/wls/docs81/jms/...s.html#1033768
    >>>
    >>>And are also summarized here (under interoperability):
    >>>
    >>>http://edocs.bea.com/wls/docs81/jms/...l#jms_features
    >>>
    >>>The 8.1 features are likely sufficient for most 8.1 integration needs,
    >>>and you may not need to refer "Using Foreign JMS Providers With WLS"
    >>>white-paper mentioned below.
    >>>
    >>>
    >>>Integration with 6.1 and 7.0 Details
    >>>------------------------------------
    >>>
    >>>Read the "Using Foreign JMS Providers With WLS" white-paper:
    >>>
    >>>http://dev2dev.bea.com/products/wlse...sproviders.jsp
    >>>
    >>>Note that this white-paper does not take into account 8.1 features.
    >>>
    >>>
    >>>MQ Remote Capable XA Clients
    >>>----------------------------
    >>>
    >>>Until recently, IBM MQ JMS clients could not work transactionally unless
    >>>they were running on the same host as their MQ server. This is a limitation
    >>>unique to MQ that was relaxed with the introduction of IBM's new "WebSphere
    >>>MQ Extended Transactional Client". See:
    >>>
    >>>http://publibfp.boulder.ibm.com/epubs/pdf/csqzar00.pdf
    >>>
    >>>The product is new, and for some reason, configuration of this client
    >>>seems to be tricky, even when WebLogic is not involved at all. Oddly,
    >>>the main sticking point seems to be simply making sure that class paths
    >>>refer to the required IBM jars:
    >>>
    >>>- Required on WLS where MQ objects are bound into JNDI:
    >>>com.ibm.mq.jar, com.ibm.mqjms.jar
    >>>
    >>>- Required only if MQ objects are bound into JNDI on a different server:
    >>>com.ibm.mq.jar
    >>>
    >>>If there are problems when using this client, first get it to work using
    >>>a pure IBM client without any BEA classes involved. Once that is working,
    >>>search the WL JMS newsgroup for answers and/or contact BEA customer
    >>>support.
    >>>
    >>>
    >>>MDB Thread Pool Notes
    >>>---------------------
    >>>
    >>>WL7.0SP? and WL8.1 and later support the "dispatch-policy" field to

    >>
    >>specify
    >>
    >>>which thread pool an MDB uses to run its instances. In most cases this
    >>>field should be configured to help address potential performance issues
    >>>and/or dead-locks:
    >>>
    >>>http://edocs.bea.com/wls/docs81/ejb/...ispatch-policy
    >>>
    >>>(Note that "dispatch-policy" is ignored for non-transactional foreign
    >>>vendors; in this case, the MDB "onMessage" callback runs in the foreign
    >>>vendor's thread.)
    >>>
    >>>
    >>>MDB Concurrency Notes
    >>>---------------------
    >>>
    >>>Queue MDBs driven by foreign providers can run multiple instances concurrently.
    >>>Topic MDBs driven by foreign providers are limited to one instance (not
    >>>sure, but transactional foreign driven topic MDBs may not have this
    >>>limitation). The size of the thread pool that the MDB runs in and the
    >>>"max-beans-in-free-pool" descriptor limit how many instances run concurrently.
    >>>
    >>>
    >>>Performance Tuning Notes
    >>>------------------------
    >>>
    >>>The "WebLogic JMS Performance Guide" white-paper contains detailed performance
    >>>design and tuning information for the Messaging Bridge, JMS, and MDBs.
    >>>
    >>>http://dev2dev.bea.com/products/wlse...Perform_GD.jsp
    >>>
    >>>

    >>
    >>If the File System Provider binding is successful, there should be a
    >>file called
    >>bindingins under your C:\My\FSCTX directory . Do you have that ? May
    >>be you can
    >>post it here?
    >>



  6. Re: Not able to get MQ ConnectionFactory

    Yep -- there are MQ shared libraries that you need. How you specify their
    location depends on your O/S, but the MQ documentation should explain it.
    It's PATH for Windows, LD_LIBRARY_PATH for Solaris, and so forth.

    greg

    "Tom Barnes"

    wrote in message news:403E3D99.9040200@newsgroups.bea.com...
    > This is an MQ JMS exception, not a BEA JMS exception.
    > Anyway, you are not using IBM's pure Java client - likely
    > because you need XA and choose not to use their
    > "Extended" JMS client product. This means that
    > you need to make sure that IBM's native code DLLs
    > are available to the JVM. I'm not exactly sure how this is
    > done for MQ - but perhaps simply making sure that they
    > are in your PATH (not your CLASSPATH, your file PATH)
    > would be sufficient (or figure out how to
    > set java.library.path).
    >
    > Ugender wrote:
    >
    > > Hi,
    > > I think I solved partial problem but still have to figure out what is

    going wrong
    > > when try to call createQueueConnection() method. Please see the

    exceptions file
    > > where I attached the out put when I run Client.java program. It is

    printing till
    > > "flag 5" (System.out.print statements I used in my Client.java Program).
    > >
    > > I am getting these exceptions "java.lang.UnsatisfiedLinkError: Can't

    find library
    > > mqjbnd05 (MQJBND05.DLL) in java.library.path ".
    > > Please see my exceptions file in attached ZIP Folder for detailed

    information
    > > and help me in what and where I am missing..
    > > By the way I attached .bindings file too.
    > >
    > > Thanks for your valuable time.
    > > Ugender
    > >
    > >
    > >
    > >
    > >
    > > "L Muralidharan" wrote:
    > >
    > >>Tom Barnes


    > >>wrote:
    > >>
    > >>>Hi,
    > >>>
    > >>>I'm not sure why the client lookup
    > >>>isn't working. One thing to
    > >>>do is to make sure that the client
    > >>>has all of the MQ jars in its
    > >>>classpath, another is make sure
    > >>>that the correct MQ factory
    > >>>is specified (MQ
    > >>>requires the TCP/IP factory
    > >>>for remote clients.)
    > >>>
    > >>>Note that WebLogic does not support
    > >>>enlisting non-WebLogic XA resources on
    > >>>a client. Therefore, foreign JMS
    > >>>vendors can not participate in a
    > >>>WL transaction unless they are
    > >>>actually called from an application
    > >>>running on a WL server.
    > >>>
    > >>>Also note that IBM MQ does not support XA
    > >>>unless either (A) the MQ client runs on the same host
    > >>>machine as MQ server or (B) IBM's new "extended client"
    > >>>product is used.
    > >>>
    > >>>You can get XA on the server side through:
    > >>>MDBs, messaging bridges, and resource references.
    > >>>The latter is not required, but wraps
    > >>>the resource so as to automatically pool
    > >>>it and to automatically
    > >>>performs the XA enlistment step - a helpful thing
    > >>>for app code that directly invoke methods on
    > >>>foreign resources.
    > >>>
    > >>>See attached for a mini-FAQ on JMS XA integration.
    > >>>
    > >>>Tom
    > >>>
    > >>>Ugender wrote:
    > >>>
    > >>>
    > >>>>Hi Tom,
    > >>>>Thanks for your email. Here I am attaching my files
    > >>>>including deployment descriptors.
    > >>>>
    > >>>>I created Connection Factory name and Queue name as
    > >>>>specified in my weblogic-ejb-jar.xml file. And used
    > >>>>the same names while creating same connection factory
    > >>>>name and queue name in the WebLogic Server's foreign
    > >>>>JMS server.
    > >>>>
    > >>>>This is my first program using IBM MQ. Please guide me
    > >>>>with your valuable thoughts and directions to learn it
    > >>>>fast.
    > >>>>
    > >>>>Thanks a lot,
    > >>>>Ugender
    > >>>>
    > >>>>
    > >>>>
    > >>>>Tom Barnes


    > >>>>wrote:
    > >>>>
    > >>>>
    > >>>>>Need more info. Please post stack trace,
    > >>>>>code snippet, config.xml entries, and,
    > >>>>>if you are using resource-references, please also
    > >>>>>post the EJB descriptors.
    > >>>>>
    > >>>>>Ugender wrote:
    > >>>>>
    > >>>>>
    > >>>>>
    > >>>>>>Hi,
    > >>>>>>I use WebLogic 8.1 with MQ version 5.3. I am trying to run a test
    > >>>
    > >>>MDB
    > >>>
    > >>>>>on these
    > >>>>>
    > >>>>>
    > >>>>>>platforms. But my client is not able to get connection to the JNDI
    > >>>>>
    > >>>>>of QueueConnection
    > >>>>>
    > >>>>>
    > >>>>>>Factory.
    > >>>>>>These are the things I did.
    > >>>>>>
    > >>>>>>1) I created a simple MDB and deployed on to the weblogic server.
    > >>>>>>2) configured a foreign JMS Server with JNDI address

    "com.sun.jndi.fscontext.RefFSContextFactory"
    > >>>>>>name of the server is "ForeignJMSServer" and provider Url is

    "file:/C:/My/FSCTX".
    > >>>>>>
    > >>>>>>3)configured a foreign JMS Queue with jndi local name "XAQCF",

    remote
    > >>>>>
    > >>>>>jndi name
    > >>>>>
    > >>>>>
    > >>>>>>"XAQCF" and name of the queue is XAQCF.
    > >>>>>>4)Configured the destination also in the same fashion.
    > >>>>>>
    > >>>>>>Configured all the same values(Queue Connection Factory and Queue)
    > >>>>>
    > >>>>>on IBM MQ also.
    > >>>>>
    > >>>>>
    > >>>>>>but first thing is I am not able to get connection to my Connection
    > >>>>>
    > >>>>>Factory in
    > >>>>>
    > >>>>>
    > >>>>>>my client program.
    > >>>>>>I got the InitialContext to the WebLogic server successfully.
    > >>>>>>the exception was not able to retrive the JNDI name that I was

    looking
    > >>>>>
    > >>>>>for.
    > >>>>>
    > >>>>>
    > >>>>>>Where and what I am mising? Please can any one help me with this
    > >>
    > >>one?
    > >>
    > >>>>>I appreciate
    > >>>>>
    > >>>>>
    > >>>>>>your valuable time.
    > >>>>>>
    > >>>>>>Thanks,
    > >>>>>>Ugender
    > >>>>>>
    > >>>>>
    > >>>
    > >>>Transactional Integration of Foreign JMS Vendors with BEA WebLogic

    Server
    >
    >>>-------------------------------------------------------------------------
    > >>>
    > >>>The following notes are derived mostly from

    "http://dev2dev.bea.com/technologies/jms/index.jsp".
    > >>>
    > >>>
    > >>>For additional questions, a good forum for WebLogic questions in

    general
    > >>>is "newsgroups.bea.com". These can be mined for information by using
    > >>>Google's newsgroup search function.
    > >>>
    > >>>
    > >>>Feature Overview
    > >>>----------------
    > >>>
    > >>>- For a foreign JMS vendor to participate in a WL transaction it must
    > >>>support XA. Specifically, it must support the javax.jms.XA*

    interfaces.
    > >>>
    > >>>- In WL versions 6.0 and up it is possible to make synchronous calls
    > >>>to foreign JMS vendors participate in a WL transaction as long as the
    > >>>foreign vendor supports XA.
    > >>>
    > >>>- WL 6.0 and 6.1 MDBs can be driven by foreign vendors

    non-transactionally.
    > >>>They can be driven transactionally by a select few foreign vendors
    > >>>(MQ is not part of the select few)
    > >>>
    > >>>- WL 7.0 and later, MDBs can be driven by foreign vendors

    transactionally
    > >>>and non-transationally.
    > >>>
    > >>>- WL 6.1 and later messaging bridges can be driven by foreign vendors
    > >>>transactionally and non-transactionally.
    > >>>
    > >>>- WL 8.1 JMS provides features that simplify transactional and JNDI
    > >>
    > >>integration
    > >>
    > >>>of foreign vendors. See

    http://edocs.bea.com/wls/docs81/jms/...l#jms_features
    > >>>
    > >>>
    > >>>Integration with 8.1 Details
    > >>>----------------------------
    > >>>
    > >>>A good overview of 8.1 JMS interop capability is the presentation

    "Integrating
    > >>>Foreign JMS Providers with BEA WebLogic Server" here:
    > >>>

    >
    >>>http://www.bea.com/content/files/ewo...3_05_03/Applic

    ation_Servers/1097-Foreign_JMS_Providers_WLS.pdf
    > >>>
    > >>>This document refers to helpful new 8.1 features, which simplify

    integration.
    > >>>These include:
    > >>>

    >
    >>>http://edocs.bea.com/wls/docs81/Cons...#accessing_for

    eign_providers
    > >>>http://edocs.bea.com/wls/docs81/jms/...s.html#1033768
    > >>>
    > >>>And are also summarized here (under interoperability):
    > >>>
    > >>>http://edocs.bea.com/wls/docs81/jms/...l#jms_features
    > >>>
    > >>>The 8.1 features are likely sufficient for most 8.1 integration needs,
    > >>>and you may not need to refer "Using Foreign JMS Providers With WLS"
    > >>>white-paper mentioned below.
    > >>>
    > >>>
    > >>>Integration with 6.1 and 7.0 Details
    > >>>------------------------------------
    > >>>
    > >>>Read the "Using Foreign JMS Providers With WLS" white-paper:
    > >>>
    > >>>http://dev2dev.bea.com/products/wlse...sproviders.jsp
    > >>>
    > >>>Note that this white-paper does not take into account 8.1 features.
    > >>>
    > >>>
    > >>>MQ Remote Capable XA Clients
    > >>>----------------------------
    > >>>
    > >>>Until recently, IBM MQ JMS clients could not work transactionally

    unless
    > >>>they were running on the same host as their MQ server. This is a

    limitation
    > >>>unique to MQ that was relaxed with the introduction of IBM's new

    "WebSphere
    > >>>MQ Extended Transactional Client". See:
    > >>>
    > >>>http://publibfp.boulder.ibm.com/epubs/pdf/csqzar00.pdf
    > >>>
    > >>>The product is new, and for some reason, configuration of this client
    > >>>seems to be tricky, even when WebLogic is not involved at all. Oddly,
    > >>>the main sticking point seems to be simply making sure that class paths
    > >>>refer to the required IBM jars:
    > >>>
    > >>>- Required on WLS where MQ objects are bound into JNDI:
    > >>>com.ibm.mq.jar, com.ibm.mqjms.jar
    > >>>
    > >>>- Required only if MQ objects are bound into JNDI on a different

    server:
    > >>>com.ibm.mq.jar
    > >>>
    > >>>If there are problems when using this client, first get it to work

    using
    > >>>a pure IBM client without any BEA classes involved. Once that is

    working,
    > >>>search the WL JMS newsgroup for answers and/or contact BEA customer
    > >>>support.
    > >>>
    > >>>
    > >>>MDB Thread Pool Notes
    > >>>---------------------
    > >>>
    > >>>WL7.0SP? and WL8.1 and later support the "dispatch-policy" field to
    > >>
    > >>specify
    > >>
    > >>>which thread pool an MDB uses to run its instances. In most cases this
    > >>>field should be configured to help address potential performance issues
    > >>>and/or dead-locks:
    > >>>

    >
    >>>http://edocs.bea.com/wls/docs81/ejb/...l#dispatch-pol

    icy
    > >>>
    > >>>(Note that "dispatch-policy" is ignored for non-transactional foreign
    > >>>vendors; in this case, the MDB "onMessage" callback runs in the foreign
    > >>>vendor's thread.)
    > >>>
    > >>>
    > >>>MDB Concurrency Notes
    > >>>---------------------
    > >>>
    > >>>Queue MDBs driven by foreign providers can run multiple instances

    concurrently.
    > >>>Topic MDBs driven by foreign providers are limited to one instance (not
    > >>>sure, but transactional foreign driven topic MDBs may not have this
    > >>>limitation). The size of the thread pool that the MDB runs in and the
    > >>>"max-beans-in-free-pool" descriptor limit how many instances run

    concurrently.
    > >>>
    > >>>
    > >>>Performance Tuning Notes
    > >>>------------------------
    > >>>
    > >>>The "WebLogic JMS Performance Guide" white-paper contains detailed

    performance
    > >>>design and tuning information for the Messaging Bridge, JMS, and MDBs.
    > >>>

    >
    >>>http://dev2dev.bea.com/products/wlse..._Perform_GD.js

    p
    > >>>
    > >>>
    > >>
    > >>If the File System Provider binding is successful, there should be a
    > >>file called
    > >>bindingins under your C:\My\FSCTX directory . Do you have that ? May
    > >>be you can
    > >>post it here?
    > >>

    >




+ Reply to Thread