ClassNotFoundException for initial-context-factory using foreign JMS p.

Hi,
I am currently working on migrating an application from weblogic 9 to weblogic 10 and I bumped into this issue while MDB connecting to JMS.
[Loaded cz.jaksky.riskscenario.beans.RiskScenarioServiceLocalHome from file:/C:/SVN/app-WLS10-FRESH/app-deploy/servers/myserver/tmp/_WL_user/performance/nyubkw/point-interfaces.jar]
<17-Sep-2012 11:01:27 o'clock CEST> <Warning> <EJB> <BEA-010061> <The Message-Driven EJB: PerformanceAsyncRequestBean is unable to connect to the JMS destination: wls.AsyncQueue. The Error was:
javax.naming.NoInitialContextException: Cannot instantiate class: cz.jaksky.common.jms.JMSInitialContextFactory [Root exception is java.lang.ClassNotFoundException: cz.jaksky.common.jms.JMSInitialContextFactory]
at javax.naming.spi.NamingManager.getInitialContext(NamingManager.java:657)
at javax.naming.InitialContext.getDefaultInitCtx(InitialContext.java:288)
at javax.naming.InitialContext.init(InitialContext.java:223)
at javax.naming.InitialContext.<init>(InitialContext.java:197)
at weblogic.deployment.jms.ForeignOpaqueReference.getReferent(ForeignOpaqueReference.java:182)
at weblogic.jndi.internal.WLNamingManager.getObjectInstance(WLNamingManager.java:96)
at weblogic.jndi.internal.ServerNamingNode.resolveObject(ServerNamingNode.java:377)
at weblogic.jndi.internal.BasicNamingNode.resolveObject(BasicNamingNode.java:856)
at weblogic.jndi.internal.BasicNamingNode.lookup(BasicNamingNode.java:209)
at weblogic.jndi.internal.BasicNamingNode.lookup(BasicNamingNode.java:214)
at weblogic.jndi.internal.WLEventContextImpl.lookup(WLEventContextImpl.java:254)
at weblogic.jndi.internal.WLContextImpl.lookup(WLContextImpl.java:411)
at javax.naming.InitialContext.lookup(InitialContext.java:392)
at weblogic.jms.common.CDS$2.run(CDS.java:486)
at weblogic.security.acl.internal.AuthenticatedSubject.doAs(AuthenticatedSubject.java:363)
at weblogic.jms.common.CrossDomainSecurityManager.runAs(CrossDomainSecurityManager.java:131)
at weblogic.jms.common.CDS.lookupDestination(CDS.java:480)
at weblogic.jms.common.CDS.lookupDDAndCalloutListener(CDS.java:345)
at weblogic.jms.common.CDS.access$100(CDS.java:41)
at weblogic.jms.common.CDS$DDListenerRegistrationTimerListener.timerExpired(CDS.java:193)
at weblogic.timers.internal.TimerImpl.run(TimerImpl.java:273)
at weblogic.work.SelfTuningWorkManagerImpl$WorkAdapterImpl.run(SelfTuningWorkManagerImpl.java:528)
at weblogic.work.ExecuteThread.execute(ExecuteThread.java:207)
at weblogic.work.ExecuteThread.run(ExecuteThread.java:176)
Caused by: java.lang.ClassNotFoundException: cz.jaksky.common.jms.JMSInitialContextFactory
at java.net.URLClassLoader$1.run(URLClassLoader.java:202)
at java.security.AccessController.doPrivileged(Native Method)
at java.net.URLClassLoader.findClass(URLClassLoader.java:190)
at java.lang.ClassLoader.loadClass(ClassLoader.java:307)
at java.lang.ClassLoader.loadClass(ClassLoader.java:248)
at java.lang.Class.forName0(Native Method)
at java.lang.Class.forName(Class.java:247)
at com.sun.naming.internal.VersionHelper12.loadClass(VersionHelper12.java:46)
at javax.naming.spi.NamingManager.getInitialContext(NamingManager.java:654)
... 23 more
I am using foreign JMS provider with provided mapping. Config follows:
ejb-jar.xml:
<enterprise-beans>
          <message-driven>
               <ejb-name>PortfolioRetrieverAsyncRequestBean</ejb-name>
               <ejb-class>cz.jaksky.common.async.AsynchronousRequestMessageBean</ejb-class>
               <transaction-type>Bean</transaction-type>
               <acknowledge-mode>Auto-acknowledge</acknowledge-mode>
               <message-driven-destination>
                    <destination-type>javax.jms.Queue</destination-type>
                    <subscription-durability>Durable</subscription-durability>
               </message-driven-destination>
               <message-selector>
                    <![CDATA[ Service IN ('PortfolioRetriever')
                  AND MessageType = 'request'
                  AND BigBox = FALSE
                ]]>
               </message-selector>
          </message-driven>
     </enterprise-beans>
weblogic-ejb-jar.xml:
<weblogic-enterprise-bean>
          <ejb-name>PortfolioRetrieverAsyncRequestBean</ejb-name>
          <message-driven-descriptor>
               <pool>
                    <max-beans-in-free-pool>64</max-beans-in-free-pool>
                    <initial-beans-in-free-pool>1</initial-beans-in-free-pool>
               </pool>
               <destination-jndi-name>wls.AsyncQueue</destination-jndi-name>
               <initial-context-factory>weblogic.jndi.WLInitialContextFactory</initial-context-factory>
               <connection-factory-jndi-name>ServiceLocatorAsyncQueueFactory</connection-factory-jndi-name>
          </message-driven-descriptor>
          <dispatch-policy>PortfolioAsyncQueueWorkManager</dispatch-policy>
     </weblogic-enterprise-bean>
jmsconfig-jms.xml
<foreign-server name="TibjmsAsyncServer">
<default-targeting-enabled>true</default-targeting-enabled>
<foreign-destination name="AsyncQueue.LOCAL.prgdwm355410.7001">
<local-jndi-name>wls.AsyncQueue</local-jndi-name>
<remote-jndi-name>AsyncQueue.LOCAL.prgdwm355410.7001</remote-jndi-name>
</foreign-destination>
<foreign-connection-factory name="FTQueueConnectionFactory">
<local-jndi-name>ServiceLocatorAsyncQueueFactory</local-jndi-name>
<remote-jndi-name>FTQueueConnectionFactory</remote-jndi-name>
</foreign-connection-factory>
<initial-context-factory>cz.jaksky.common.jms.JMSInitialContextFactory</initial-context-factory>
<connection-url>tcp://JUSD-FTPOIA.jaksky.com:22542,tcp://JUSD-FTPOB.jaksky.com:22543</connection-url>
</foreign-server>
Module containing this MDB is packed as an ear file with following structure:
APP-INF/lib/modules.jar - contains AsynchronousRequestMessageBean class
APP-INF/lib/interface.jar - contains JMSInitialContextFactory (class used for initial-context-factory)
portfolio-async.jar
META-INF/ejb-jar.xml content pasted above
META-INF/webogic-ejb-jar.xml content pasted above
Weblogic system classpath doesn't contain any application sepcific libraries.
This set up was working for weblogic 9 without any problem. I am just wondering what the problem is whether I am faceing class loading issue or JMS configuration issue and how to resolve it.
Edited by: user13047709 on 18-Sep-2012 07:15
Edited by: user13047709 on 18-Sep-2012 07:16

Hi,
When working with a non-WebLogic JNDI provider (or a non-WebLogic JMS provider), the non-WebLogic client classes must be made available to the classloader of the calling application in WebLogic Server. This is usually accomplished by adding them to the system classpath.
In your case, WebLogic is looking for a proprietary/foreign JNDI Context Factory class named "cz.jaksky.common.jms.JMSInitialContextFactory", which means you need to make sure that a jar/dir that contains the non-WebLogic class "JMSInitialContextFactory.class" is in the classpath.
The configuration for this should be similar in WL9 and WL10. It could be that your classpath is already setup to reference the foreign class, but it refers to a directory/jar that you haven't setup yet on your WL10 host.
HTH,
Tom

Similar Messages

  • Initial Context Factory

    Hi
    I am trying to develop a EJB Project and trying to call the EAR depployed on the server using JNDI.
    I am writing the code using Java Client
    Can i have the name of Initial Context Factory for WAS 6.40.
    Its Urgent
    With Wishes
    Krishna Kanth

    Hi,
    the Initial context factory on Web AS 6.40 is
    com.sap.engine.services.jndi.InitialContextFactoryImpl

  • Using foreign JMS providers with wls

    does anybody have a clou, where i can find that article, i think it's
              by steve felts on using foreign JMS providers with wls? i think the
              link on dev2dev is broken?
              

    The new article is called "Using Foreign JMS Providers with WLS" and it's
              here:
              http://dev2dev.bea.com/resourcelibrary/whitepapers.jsp?highlight=whitepapers
              greg
              "leopld goess" <[email protected]> wrote in message
              news:[email protected]..
              > does anybody have a clou, where i can find that article, i think it's
              > by steve felts on using foreign JMS providers with wls? i think the
              > link on dev2dev is broken?
              

  • How to configure initial-context-factory and provider_url on Websphere MQ

    I have a few questions about WebSphere MQ. Currently, my application is able work well with other JMS provider. But I would like to move to use WebSphere instead.
    Can anyone suggest me how to configure the application connecting WebSphere?
    �     I�m using the Initial java naming factory as bellows: com.sun.jndi.fscontext.RefFSContextFactoryIs it the correct class?
    �     About the java-naming-factory-url, How do I know what object that I should use? I found this example in JMSAdmin.config � iiop://localhost:7555� What�s iiop ?
    �     What jar file that I should add in my classpath?

    Hi,
    You have a few options...
    1. Use WebSphere Application Server as the JNDI provider
    2. Don't use JNDI
    3. Use the File System Context as the JNDI provider
    Exploring these options in a bit more detail...
    1. Use WebSphere Application Server as the JNDI provider
    Assuming you have WAS, the best way of obtaining your queue is to define the Queue and Queue Connection Factory objects in WAS using the admin console, then obtain them from the Initial Context as per the following article
    http://publib.boulder.ibm.com/infocenter/wasinfo/v6r0/index.jsp?topic=/com.ibm.websphere.express.doc/info/exp/ae/rnam_example_prop2.html
    If you prefer not to do JNDI lookups in your code a great alternative is to use Spring (www.springframework.org). If you haven't come across spring before it's well worth a look. One of it's many features is a bean factory for creating your objects. There is lots of support for retrieving JMS objects from JNDI, so in the main all you have to do is write some XML similar to the following...
    <bean id="jndiTemplate" class="org.springframework.jndi.JndiTemplate">
           <property name="environment">
                  <props>
                         <prop key="java.naming.factory.initial">${jndi.initialContextFactory}</prop>
                         <prop key="java.naming.provider.url">${jndi.providerUrl}</prop>
                  </props>
           </property>
    </bean>
    <bean id="queueConnectionFactory" class="org.springframework.jndi.JndiObjectFactoryBean">
           <property name="jndiTemplate" ref="jndiTemplate"/>
           <property name="jndiName" value="${jndi.queueConnectionFactory}"/>
    </bean>
    <bean id="queueName" class="org.springframework.jndi.JndiObjectFactoryBean">
           <property name="jndiTemplate" ref="jndiTemplate"/>
           <property name="jndiName" value="${jndi.queueName}"/>
    </bean>There's a bit more to it than this, but not much. I've been meaning to write a tutorial on this for a while so if you're interested let me know.
    2. Don't use JNDI
    This approach involves using the creating the native MQ Queue Connection Factory and Queue classes. You can hard code this, but it's much better to abstract it from your application. Again you can use Spring. The definition would look something like the following...
    <bean id="MQJMS_TP_CLIENT_MQ_TCPIP"
    class="org.springframework.beans.factory.config.FieldRetrievingFactoryBean">
           <property name="staticField">
                  <value>com.ibm.mq.jms.JMSC.MQJMS_TP_CLIENT_MQ_TCPIP</value>
           </property>
    </bean>
    <bean id="queueConnectionFactory" class="com.ibm.mq.jms.MQQueueConnectionFactory">
           <property name="transportType" ref="MQJMS_TP_CLIENT_MQ_TCPIP" />
           <property name="queueManager" value="${mq.queueManager}" />
           <property name="hostName" value="${mq.host}" />
           <property name="port" value="${mq.port}" />
           <property name="channel" value="${mq.channel}" />
    </bean>
    <bean id="publishInvoiceQ" class="com.ibm.mq.jms.MQQueue">
           <constructor-arg value="${mq.queueName}" />
    </bean>
    3. Use the File System Context
    The file system context is just like a JNDI context, but instead of using a url like iiop://host:port you have to specify a file system url. Because FSContext is just another JNDI context you can still use the spring configuration from option 1, but just change the relevant parameters.
    In order to define you queues and queue connection factory using the File System Context, you need to download a swing application called JMS Admin. Get it here
    http://www-1.ibm.com/support/docview.wss?rs=171&uid=swg24004691&loc=en_US&cs=utf-8&lang=en
    With regards your specific questions...
    IIOP is just another communication protocol. If you want more details I'm sure typing "what is iiop" into google will provide plenty of hits.
    I'll do my best to answer the remain two tomorrow - I wrote an application a few months ago which used the File System Context, but don't have the details to hand.

  • Error occurred when use foreign Jms server[JMSClientExceptions:055142].

    I want to use a foreign Jms server(Tibco EMS), after I have config the JNDI of foreign server,connectionfactory and destinations, the correct JNDI name can be find on the JNDI tree.
    Then I deploy a demo mdb ear on the weblogic(version is 10.3),there's warnning tag on the ear application, and there is error message in the log:
    <2011-1-10 上午10时15分07秒 CST> <Warning> <EJB> <BEA-010061> <The Message-Drive
    n EJB: MDBDemo is unable to connect to the JMS destination: NotifyAlertAlertQueue. The Error was:
    weblogic.jms.common.InvalidDestinationException: [JMSClientExceptions:055142]Foreign destination, Queue[notify.alert.alertQueue]>
    NotifyAlertAlertQueue is the JNDI name of the destination defined on the weblogic console,and the same as ems jndi name for queue notify.alert.alertQueue.
    It seems that the application has find the queue correctly, but why it throw that exception[JMSClientExceptions:055142]?
    Thanks for any help.
    Edited by: 826761 on 2011-1-9 下午6:40

    I suspect that somehow your configuration is messed up and the MDB ended up using a WebLogic connection to access a TIBCO EMS destination.
    Please make sure that your JMS server configuration maps a TIBCO connection factory jndi name to a jndi name in WebLogic server JNDI tree, a TIBCO destination jndi name to a jndi name in WebLogic server JNDI tree, and your MDB configuration refers to the jndi names in the WebLogic JNDI tree.
    Regards.

  • Initial Context Factory for same OC4J EJB access in 10.1.3.1

    What should the INITIAL_CONTEXT_FACTORY be set to when you try to access an EJB from within the same OC4J instance? Should it be:
    a) ApplicationClientInitialContextFactory
    b) RMIInitialContextFactory
    c) Nothing at all
    d) Something else completely
    I ask because I am try to move from 10.1.3.0 to 10.1.3.1 and I have a thread spawned during startup that is unable to access the EJB
    2007-05-25 07:22:50.862 WARNING J2EE RMI-00009 Exception returned by remote server: {0}
    07/05/25 07:22:50 Unknown service: MySessionHome
    javax.naming.NameNotFoundException: MySessionHome not found
    It does not set the INITIAL_CONTEXT_FACTORY because it has been my understanding that this is not necessary. Did something change in 10.1.3.1?

    Has anyone found a solution for this problem? I tried adding the following entry to my orion-application.xml file with no luck. I was able to fix the problem by adding commons-digester.jar,commons-logging.jar, and log4j-1.2.15.jar to the /BC4J/lib folder on the server. Unfortunately this fix caused errors when trying to launch the BPEL console. Any help would be greatly appreciated.
    <imported-shared-libraries>
    <remove-inherited name="apache.commons.logging"></remove-inherited>
    </imported-shared-libraries>
    I am unable to deploy my application due to the error below.
    Caused by: org.apache.commons.logging.LogConfigurationException: org.apache.commons.logging.LogConfigurationException: No suitable Log constructor [Ljava.lang.Class;@6b8c38 for org.apache.commons.logging.impl.Log4JLogger (Caused by java.lang.NoClassDefFoundError: org/apache/log4j/Category) (Caused by org.apache.commons.logging.LogConfigurationException: No suitable Log constructor [Ljava.lang.Class;@6b8c38 for org.apache.commons.logging.impl.Log4JLogger (Caused by java.lang.NoClassDefFoundError: org/apache/log4j/Category))
            at org.apache.commons.logging.impl.LogFactoryImpl.newInstance(LogFactoryImpl.java:543)
            at org.apache.commons.logging.impl.LogFactoryImpl.getInstance(LogFactoryImpl.java:235)
            at org.apache.commons.logging.impl.LogFactoryImpl.getInstance(LogFactoryImpl.java:209)
            at org.apache.commons.logging.LogFactory.getLog(LogFactory.java:351)
            at com.sun.faces.config.ConfigureListener.<clinit>(ConfigureListener.java:212)
            ... 19 more
    Caused by: org.apache.commons.logging.LogConfigurationException: No suitable Log constructor [Ljava.lang.Class;@6b8c38 for org.apache.commons.logging.impl.Log4JLogger (Caused by java.lang.NoClassDefFoundError: org/apache/log4j/Category)
            at org.apache.commons.logging.impl.LogFactoryImpl.getLogConstructor(LogFactoryImpl.java:413)
            at org.apache.commons.logging.impl.LogFactoryImpl.newInstance(LogFactoryImpl.java:529)
            ... 23 more
    Caused by: java.lang.NoClassDefFoundError: org/apache/log4j/Category
            at java.lang.Class.getDeclaredConstructors0(Native Method)
            at java.lang.Class.privateGetDeclaredConstructors(Class.java:2357)
            at java.lang.Class.getConstructor0(Class.java:2671)
            at java.lang.Class.getConstructor(Class.java:1629)
            at org.apache.commons.logging.impl.LogFactoryImpl.getLogConstructor(LogFactoryImpl.java:410)
            ... 24 more                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                               

  • App client can't instantiate the initial context factory

    hi
    i wrote an application client and a stateless session bean that i deployed with the deploytool from sun to the j2ee application server. now when i start my application client i get the following message:
    NoInitialContextException: Cannot instantiate class: COM.sun.enterprise.naming.SerialInitContextFactory. Root exception is java.lang.ClassNotFoundException: COM.sun.enterprise.naming.SerialInitContextFactory
    at java.net.URLClassLoader$1.run
    my jndi.properties looks like this:
    java.naming.factory.initial=COM.sun.enterprise.naming.SerialInitContextFactory
    java.naming.factory.url.pkgs=COM.sun.enterprise.naming
    and my server runs on the same computer as the client. the classpath variable is set to the j2ee.jar file ( and this file contains the selected initial factory ). i could not understand why i get this errormessage. has anyone a idea?

    thanks to all
    now i got it working. i'm using the orion application server and to get access from a remote computer ( outside the application server ) i have to set the environment properties in the following way:
    Properties prop = new Properties();
                        prop.put(Context.INITIAL_CONTEXT_FACTORY,"com.evermind.server.rmi.RMIInitialContextFactory");
                        prop.put(Context.PROVIDER_URL,"ormi://localhost/TestBean02");
                        prop.put(Context.SECURITY_PRINCIPAL,"admin");
                        prop.put(Context.SECURITY_CREDENTIALS,"123");
    InitialContext initial = new InitialContext(prop);
    Object objref = initial.lookup("MyBeanel");
    home = (TestBeanHome)PortableRemoteObject.narrow(objref, TestBeanHome.class);
    this works, the client needs only the j2ee.jar and the orion.jar in the classpath.

  • Using a Foreign JMS Destination as a JMS Event Generator Subscription

    NOTE THIS IS BUMPED UP FROM ROBERT NORTON'S POST. I am having the same
    problem here. From the wliconsole, the only queues listed to have events
    generated from are local ones.
    Hello,
    I'm trying to create a workflow that is started by a JMS message queue
    event.
    I'm trying to use the WLIJMSEventGenTool in WebLogic 8.1 to listen to a
    queue
    on a remote WebLogic 8.1 installation, publish the incoming messages to
    a channel,
    then initiate a workflow by subscribing to that channel. Here's a copy
    of my configuration
    file for the tool:
    <message-broker-jms-event-generator-def
    source-jndi-name="SearchInputQueue"> <channel
    name="/srm/sInput/sInput" /> </message-broker-jms-event-generator-def >
    I tried to tackle this by configuring a foreign JMS Server, Connection
    Factory,
    and Destination using the Weblogic Admin Console. Below are the
    parameters I used
    to define the remote connection
    Foreign JMS Server:
    jndi initial context factory: weblogic.jndi.WLInitialContextFactory jndi
    connection
    url: //OPER1090:7001
    Foreign connection factory:
    local jndi name: FtsFactory remote jndi name:
    weblogic.jws.jms.QueueConnectionFactory
    (Are username and password required?)
    Foreign JMS Destination:
    local jndi name: SearchInputQueue remote jndi name:
    InternalSearchInputQueue
    After I try to deploy my generated JMS Event jar, I receive the
    following error:
    <Jun 6, 2003 10:31:50 AM EDT> <Warning> <EJB> <BEA-010061> <The
    Message-Driven
    E JB: SearchInputQueue-UnorderedMessageListener is unable to connect to
    the JMS
    de stination: SearchInputQueue. The Error was: [EJB:011010]The JMS
    destination
    with the JNDI name: SearchInputQueue could not b e found. Please ensure
    that the
    JNDI name in the weblogic-ejb-jar.xml is correct , and the JMS
    destination has
    been deployed.>
    I'm pretty sure the problem is simply that my syntax is off somewhere in
    my configuration.
    I found the existing BEA documentation to be a bit too generic,
    containing no
    specific examples of the proper syntax to use for this task. Can anyone
    offer
    any advice or better, a working example? Any BEA reps out there?

    NOTE THIS IS BUMPED UP FROM ROBERT NORTON'S POST. I am having the same
    problem here. From the wliconsole, the only queues listed to have events
    generated from are local ones.
    Hello,
    I'm trying to create a workflow that is started by a JMS message queue
    event.
    I'm trying to use the WLIJMSEventGenTool in WebLogic 8.1 to listen to a
    queue
    on a remote WebLogic 8.1 installation, publish the incoming messages to
    a channel,
    then initiate a workflow by subscribing to that channel. Here's a copy
    of my configuration
    file for the tool:
    <message-broker-jms-event-generator-def
    source-jndi-name="SearchInputQueue"> <channel
    name="/srm/sInput/sInput" /> </message-broker-jms-event-generator-def >
    I tried to tackle this by configuring a foreign JMS Server, Connection
    Factory,
    and Destination using the Weblogic Admin Console. Below are the
    parameters I used
    to define the remote connection
    Foreign JMS Server:
    jndi initial context factory: weblogic.jndi.WLInitialContextFactory jndi
    connection
    url: //OPER1090:7001
    Foreign connection factory:
    local jndi name: FtsFactory remote jndi name:
    weblogic.jws.jms.QueueConnectionFactory
    (Are username and password required?)
    Foreign JMS Destination:
    local jndi name: SearchInputQueue remote jndi name:
    InternalSearchInputQueue
    After I try to deploy my generated JMS Event jar, I receive the
    following error:
    <Jun 6, 2003 10:31:50 AM EDT> <Warning> <EJB> <BEA-010061> <The
    Message-Driven
    E JB: SearchInputQueue-UnorderedMessageListener is unable to connect to
    the JMS
    de stination: SearchInputQueue. The Error was: [EJB:011010]The JMS
    destination
    with the JNDI name: SearchInputQueue could not b e found. Please ensure
    that the
    JNDI name in the weblogic-ejb-jar.xml is correct , and the JMS
    destination has
    been deployed.>
    I'm pretty sure the problem is simply that my syntax is off somewhere in
    my configuration.
    I found the existing BEA documentation to be a bit too generic,
    containing no
    specific examples of the proper syntax to use for this task. Can anyone
    offer
    any advice or better, a working example? Any BEA reps out there?

  • MDB cannot connect to JMS destination using Foreign Server

    Hi everyone,
    I have configured foreign jms server in weblogic but when MDB tries to connect to specific queue, it gets the following exception:
    I would really appreciate if anyone could help me.
    <Sep 28, 2012 5:23:34 PM CEST> <Warning> <EJB> <BEA-010096> <The Message-Driven EJB: SmsReceiver is unable to connect to the JMS destination or bind to JCA resource adapter: xcg2/smsInQueue. Connection failed after 2 attempts. The MDB will attempt to reconnect/rebind every 10 seconds. This log message will repeat every 600 seconds until the condition clears.>
    <Sep 28, 2012 5:23:34 PM CEST> <Warning> <EJB> <BEA-010061> <The Message-Driven EJB: SmsReceiver is unable to connect to the JMS destination: xcg2/smsInQueue. The Error was:
    [EJB:011010]The JMS destination with the JNDI name: jmsxcg.out could not be found. Please ensure that the JNDI name in the weblogic-ejb-jar.xml or corresponding annotation is correct, and the JMS destination has been deployed.
    javax.naming.InvalidNameException: jmsxcg.out: [LDAP: error code 34 - Invalid DN]; remaining name 'jmsxcg.out' NestedException Message is :jmsxcg.out: [LDAP: error code 34 - Invalid DN]>
    MDB annotation looks like this:
    @MessageDriven(name="SmsReceiver", mappedName="xcg2/smsInQueue",
    activationConfig = {
    @ActivationConfigProperty(propertyName = "destinationType", propertyValue = "javax.jms.Queue")
    @TransactionAttribute(TransactionAttributeType.NOT_SUPPORTED)
    public class SmsReceiverBean implements MessageListener
    weblogic-ejb-jar.xml excerpt:
         <weblogic-enterprise-bean>
              <ejb-name>SmsReceiver</ejb-name>
              <message-driven-descriptor>
                   <pool>
                        <max-beans-in-free-pool>10</max-beans-in-free-pool>
                        <initial-beans-in-free-pool>5</initial-beans-in-free-pool>
                   </pool>
                   <connection-factory-jndi-name>echoQueueConnectionFactory</connection-factory-jndi-name>
              </message-driven-descriptor>
              <transaction-descriptor>
                   <trans-timeout-seconds>600</trans-timeout-seconds>
              </transaction-descriptor>
    <dispatch-policy>MdbSmsWorkManager</dispatch-policy>
         </weblogic-enterprise-bean>
    and the configuration of foreign-server:
    <?xml version="1.0" encoding="UTF-8"?>
    <weblogic-jms xmlns="http://www.bea.com/ns/weblogic/weblogic-jms">
    <foreign-server name="serverr">
    <sub-deployment-name>Subdeployment</sub-deployment-name>
    <foreign-destination name="sms queue>
    <local-jndi-name>xcg2/smsInQueue</local-jndi-name>
    <remote-jndi-name>jmsxcg.out</remote-jndi-name>
    </foreign-destination>
    <foreign-connection-factory name="Connection Factory">
    <local-jndi-name>echoQueueConnectionFactory</local-jndi-name>
    <remote-jndi-name>QueueConnectionFactory</remote-jndi-name>
    </foreign-connection-factory>
    <initial-context-factory>com.tibco.tibjms.naming.TibjmsInitialContextFactory</initial-context-factory>
    <connection-url>tibjmsnaming://xx.xx.xx.xx:7222</connection-url>
    </foreign-server>
    </weblogic-jms>
    PS. I'm able to connect to the weblogic jndi, get connectionFactory echoQueueConnectionFactory, then lookup queue and grab messages so that's i suspect there is something wrong with configuration

    Hmm - I'm not sure what's going on. Two thoughts --
    Thought 1 - According to my (admittedly minimal) research, Tibco is complaining about a syntax error in the lookup name. Perhaps the problem has something to do with your use of a "." in the queue name "jmsxcg.out": WL or Tibco JNDI might be interpreting the "." as a subcontext or some-such. Perhaps try renaming the queue to "jmsxcg_out" throughout (in Tibco and in your Foreign JMS reference).
    Thought 2 - It probably won't make a difference, but you might want try specifying the source destination via the "destinationJndiName" config property instead of via "mappedName".
    @MessageDriven(
      name = "MyMDB",
      activationConfig = {
        @ActivationConfigProperty(propertyName  = "destinationType",
                                  propertyValue = "javax.jms.Queue"),
        @ActivationConfigProperty(propertyName  = "destinationJndiName",
                                  propertyValue = "MyQueue") // Ext. JNDI Name
    )HTH,
    Tom

  • MDB for Foreign JMS server

    I am trying to access MQ que with Message Driven bean in weblogic 8.1.
              I have defined Foreign JMS server in weblogic pointing to MQ JNDI name.
              I am not sure what to define in "weblogic-ejb-jar.xml" and "ejb-jar.xml" to refer to que connection factory and que.
              Error message that I am getting while deploying is as follows:
              <The Message-Driven EJB: MesssageHandlerBean is unable to connect to the JMS destination: jms.MediaQueue. The Error was:
              [EJB:011010]The JMS destination with the JNDI name: jms.MediaQueue could not be found. Please ensure that the JNDI name in the weblogic-ejb-jar.xml is correct, and the JMS destination has been deployed.>
              Looks like it weblogic is not able to identify JNDI name that I have defined in foreign server for remote que.
              Please let me know how i can reference foreign JMS server JNDI names.
              Thanks a bunch for help.
              Please find attached configuration files.
              weblogic-ejb-jar.xml
              <weblogic-ejb-jar>
              <weblogic-enterprise-bean>
              <ejb-name>MesssageHandlerBean</ejb-name>
              <message-driven-descriptor>
              <destination-jndi-name>
              jms.MediaQueue
              </destination-jndi-name>
              <initial-context-factory>
              com.sun.jndi.fscontext.RefFSContextFactory
              </initial-context-factory>
              <provider-url>file://localhost/d:/mqm</provider-url>
              <connection-factory-jndi-name>
              jms.MediaQcf
              </connection-factory-jndi-name>
              </message-driven-descriptor>
              <jndi-name>MesssageHandlerBean</jndi-name>
              </weblogic-enterprise-bean>
              </weblogic-ejb-jar>
              ejb-jar.xml
              <enterprise-beans>      
              <message-driven>
              <ejb-name>MesssageHandlerBean</ejb-name>
              <ejb-class>com.ejb.MesssageHandlerBean</ejb-class>
              <transaction-type>Container</transaction-type>
              <message-driven-destination>
              <destination-type>javax.jms.Queue</destination-type>
              </message-driven-destination>
              </message-driven>
              </enterprise-beans>
              weblogic "config.xml" for foeign JMS server.
              <ForeignJMSServer ConnectionURL="file://localhost/d:/mqm" InitialContextFactory="com.sun.jndi.fscontext.RefFSContextFactory"
              JNDIProperties="" Name="MQJMS Server" Targets="cgServer">
              <ForeignJMSConnectionFactory LocalJNDIName="jms.MediaQcf"
              Name="MQ JMS Connection Factory" PasswordEncrypted=""
              RemoteJNDIName="jms/lMediaQcf" Username=""/>
              <ForeignJMSDestination LocalJNDIName="jms.MediaQueue"
              Name="MQJMS Destination" RemoteJNDIName="jms/IMediaQueue"/>
              </ForeignJMSServer>
              Message was edited by:
              [email protected]
              Message was edited by:
              [email protected]

    Thanks for going over the problem it is resolved now by changing weblogic-ejb-jar.xml. To point to weblogic initial context factory. Since weblogic has a foreign server defined so MDB is able to read from MQ que.
              Thanks
              Akash
              <weblogic-enterprise-bean> <ejb-name>MesssageHandlerBean</ejb-name> <message-driven-descriptor> <destination-jndi-name>jms.MediaQueue</destination-jndi-name> <initial-context-factory> weblogic.jndi.WLInitialContextFactory</initial-context-factory> <provider-url>t3://localhost:7001</provider-url> <connection-factory-jndi-name>jms.MediaQcf</connection-factory-jndi-name> </message-driven-descriptor> <jndi-name>MesssageHandlerBean</jndi-name> </weblogic-enterprise-bean>

  • Foreign JMS not enlisting XA Transactions

    I'm working on implementing an XA interface layer to an implementation of a foreign JMS provider and am having a problem with enlisting XA transactions in WebLogic.
    I implemented a simple JNDI that stores and retrieves serialized versions of classes in the local filesystem.
    I create an XATopicConnectionFactory named ambxatcf and a Topic named ChatterTopic and store them in there.
    The XATopicConnection implements XAConnection.
    I put a client jar in bea/weblogic91/samples/domains/wl_server/lib/ which contains the JNDI code and all of my XA classes which call the JMS.
    That gets picked up by the server on startup.
    In the Web Logic Admin Console:
    I create a Foreign Server under JMS Modules, ambrosiaServer.
    I set the JNDI Initial Context Factory set to my JNDI InitialContext class and the JNDI Properties is the path to my JNDI filestore so that it can find the serialized objects.
    I create a Foreign Destination in this server which has a Local JNDI Name: Chatter and Remote JNDI Name: ChatterTopic
    And then also in this server, I create a Foreign Connection Factory, Local JNDI Name: ambxatcf and Remote JNDI Name: XATopicConnectionFactory.
    Then in Deployments, I Install the jar containing my bean and Start it.
    Then I run the client and the bean prints out the XATopicConnectionFactory and it's the one that came out my JNDI.
    I have messages in my XATopicConnectionFactory, XATopicConnection and XATopicSession code so I know they're getting called.
    What's not getting called is XATopicSession.getXAResource() or my XAResourceImpl.start() or XAResourceImpl.commit().
    This happens whether I have the bean set up for bean managed or container managed transactions.
    I'm testing against WebLogic 9.1.
    Thanks,
    Don Hermes

    Hi Tom,
              Thank you for your response.
              I saw the article in the 8.1 documentation but I also found the following in the 9.1 docs.
              So, I assumed it would work.
              Was that assumption wrong?
              Thanks,
              Don
              =====================
              http://e-docs.bea.com/wls/docs91/jms/j2ee.html
              Automatically Enlisting Transactions
              This feature works for either WebLogic JMS implementations or for third-party JMS providers that support two-phase commit transactions (XA protocol). If a wrapped JMS connection sends or receives a message inside a transaction context, the JMS session being used to send or receive the message is automatically enlisted in the transaction through the XA capabilities of the JMS provider. This is the case whether the transaction was started implicitly because the JMS code was invoked inside an EJB with container-managed transactions enabled, or whether the transaction was started manually using the UserTransaction interface in a servlet or an EJB that supports bean-managed transactions.

  • Foreign JMS and Enlisting Transactions?

    I'm working on implementing an XA interface layer to an implementation of a foreign JMS provider and am having a problem with enlisting XA transactions in WebLogic.
              I implemented a simple JNDI that stores and retrieves serialized versions of classes in the local filesystem.
              I create an XATopicConnectionFactory named ambxatcf and a Topic named ChatterTopic and store them in there.
              The XATopicConnection implements XAConnection.
              I put a client jar in bea/weblogic91/samples/domains/wl_server/lib/ which contains the JNDI code and all of my XA classes which call the JMS.
              That gets picked up by the server on startup.
              In the Web Logic Admin Console:
              I create a Foreign Server under JMS Modules, ambrosiaServer.
              I set the JNDI Initial Context Factory set to my JNDI InitialContext class and the JNDI Properties is the path to my JNDI filestore so that it can find the serialized objects.
              I create a Foreign Destination in this server which has a Local JNDI Name: Chatter and Remote JNDI Name: ChatterTopic
              And then also in this server, I create a Foreign Connection Factory, Local JNDI Name: ambxatcf and Remote JNDI Name: XATopicConnectionFactory.
              Then in Deployments, I Install the jar containing my bean and Start it.
              Then I run the client and the bean prints out the XATopicConnectionFactory and it's the one that came out my JNDI.
              I have messages in my XATopicConnectionFactory, XATopicConnection and XATopicSession code so I know they're getting called.
              What's not getting called is XATopicSession.getXAResource() or my XAResourceImpl.start() or XAResourceImpl.commit().
              This happens whether I have the bean set up for bean managed or container managed transactions.
              I'm testing against WebLogic 9.1.
              Thanks,
              Don Hermes

    Hi Tom,
              Thank you for your response.
              I saw the article in the 8.1 documentation but I also found the following in the 9.1 docs.
              So, I assumed it would work.
              Was that assumption wrong?
              Thanks,
              Don
              =====================
              http://e-docs.bea.com/wls/docs91/jms/j2ee.html
              Automatically Enlisting Transactions
              This feature works for either WebLogic JMS implementations or for third-party JMS providers that support two-phase commit transactions (XA protocol). If a wrapped JMS connection sends or receives a message inside a transaction context, the JMS session being used to send or receive the message is automatically enlisted in the transaction through the XA capabilities of the JMS provider. This is the case whether the transaction was started implicitly because the JMS code was invoked inside an EJB with container-managed transactions enabled, or whether the transaction was started manually using the UserTransaction interface in a servlet or an EJB that supports bean-managed transactions.

  • Foreign JMS Server - Weblogic 8.1 - Weblogic 8.1

    Hi
    I have to weblogic servers running on different ports.
    http://server1:port1
    http://server2:port2
    I have configured JMS store, JMS server, Destination (queue) in port2. I am able to send messages and retrieve messages in port2.
    I have written a MDB which was deployed in server1. I want to process the Messages posted to server2 destination. I tried to configure foreign JMS server in server1.
    In both servers, i am using default connection factories only.
    I am getting the following exceptions.
    ForeignMDB is unable to connect to the JMS destination: LocalTestingQueue
    LocalTestingQueue is the local jndi name given to the foreign destination.
    please find below the weblogic.xml entries for MDB
    <weblogic-enterprise-bean>
         <ejb-name>ForeignMDB</ejb-name>
         <message-driven-descriptor>           <destination-jndi-name>LocalTestingQueue</destination-jndi-name>           <initial-context-factory>weblogic.jndi.WLInitialContextFactory</initial-context-factory>
              <provider-url>http://myserver:26565</provider-url>          <connection-factory-jndi-name>weblogic.jms.ConnectionFactory</connection-factory-jndi-name>
         </message-driven-descriptor>
    </weblogic-enterprise-bean>
    could you please guide me to complete this?
    Thanks in advance
    Srinivas

    1 - Ensure that the MDB is configured to reference the remote connection factory AND remote destination.
    2 - If using the foreign JMS server facility, ensure that it defines the URL of the remote cluster/server, a connection factory mapping, and a destination mapping. Also ensure that the MDB connection factory and destination descriptor fields reference the local JNDI names for the mappings.
    3 - If not using the foreign JMS server facility, ensure that the MDB descriptor has the URL of the remote cluster, and a destination JNDI name that's in the remote cluster. (The connection factory JNDI name is not needed in this case, as the MDB will automatically look for a default connection factory that MDB's use.)
    I think the MDB chapter of the EJB programmer's guide will likely be helpful here. The latest documentation for the latest release may be more up-to-date than 8.1 -- the concepts are the same with the newer releases.
    Tom

  • MDB not connecting to Foreign JMS destination

    I'm running WL 9.2 MP3 on Windows machine. I'm deploying a rudimentary MDB congured against as Foreign Service JMS provider against MQ V6.0 with local queue running on the same local machine.
              I'm using Maven2 to build all the sub-projects - including my ejb project and enterprise application project. The EAR file deploys successfully without any errors (one minor warning about lack of explicity transactionsi in onMessage() method...). I don't see any errors but my MDB Connection Status is "disconnected" - I've enabled Debug for key sections under default and weblogic sections - still not errors of any kind but it does not connect! What can I do to find the problem?!
              Here is my EJB definition:
              public class AnotherBean extends GenericMessageDrivenBean implements
                        MessageDrivenBean, MessageListener {
                   private static final long serialVersionUID = 1L;
                   /* When the bean is activated, this method will be invoked
                   * @see javax.jms.MessageListener#onMessage(javax.jms.Message)
                   public void onMessage(Message msg) {
                        System.out.println("\n=========================================");
                        System.out.println("=> Message received!");
                        if (msg instanceof TextMessage) {
                             try {
                                  System.out.println("=> Message: "
                                            + ((TextMessage) msg).getText());
                             } catch (JMSException e) {
                                  e.printStackTrace();
                        // Place the message on to the reply queue (WLReplyQueue)
                        System.out.println("=========================================");
              Here is my ejb-jar.xml:
              <ejb-jar
              xmlns="http://java.sun.com/xml/ns/j2ee"
              xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
              xsi:schemaLocation="http://java.sun.com/xml/ns/j2ee http://java.sun.com/xml/ns/j2ee/ejb-jar_2_1.xsd"
              version="2.1">
              <enterprise-beans>
              <message-driven>
              <ejb-name>AnotherBean</ejb-name>
              <ejb-class>com.ibm.myclient.gems.ejb.AnotherBean</ejb-class>
              <transaction-type>Container</transaction-type>
              <activation-config>
              <activation-config-property>
              <activation-config-property-name>destinationType</activation-config-property-name>
              <activation-config-property-value>javax.jms.Queue</activation-config-property-value>
              </activation-config-property>
              </activation-config>
              </message-driven>
              </enterprise-beans>
              </ejb-jar>
              Here is my weblogic-ejb-jar.xml:
              <weblogic-ejb-jar
              xmlns="http://www.bea.com/ns/weblogic/90" xmlns:j2ee="http://java.sun.com/xml/ns/j2ee" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:schemaLocation="http://www.bea.com/ns/weblogic/90 http://www.bea.com/ns/weblogic/90/weblogic-ejb-jar.xsd">
              <weblogic-enterprise-bean>
              <ejb-name>AnotherBean</ejb-name>
              <message-driven-descriptor>
              <destination-jndi-name>jms/WLReceiverQueue</destination-jndi-name>
              <connection-factory-jndi-name>jms/WLReceiverQCF</connection-factory-jndi-name>
              </message-driven-descriptor>
              </weblogic-enterprise-bean>
              </weblogic-ejb-jar>
              WL JMS module is setup like this:
              <weblogic-jms xmlns="http://www.bea.com/ns/weblogic/90" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:schema
              Location="http://www.bea.com/ns/weblogic/920 http://www.bea.com/ns/weblogic/920.xsd">
              <foreign-server name="MQTestForeignServer">
              <default-targeting-enabled>true</default-targeting-enabled>
              <foreign-destination name="ReceiverDetails">
              <local-jndi-name>jms/WLReceiverQueue</local-jndi-name>
              <remote-jndi-name>MQSenderQueue</remote-jndi-name>
              </foreign-destination>
              <foreign-destination name="ReplyDetails">
              <local-jndi-name>jms/WLReplyQueue</local-jndi-name>
              <remote-jndi-name>MQReceiverQueue</remote-jndi-name>
              </foreign-destination>
              <foreign-connection-factory name="ReceiverCF">
              <local-jndi-name>jms/WLReceiverQCF</local-jndi-name>
              <remote-jndi-name>MQSenderQCF</remote-jndi-name>
              </foreign-connection-factory>
              <foreign-connection-factory name="ReplyCF">
              <local-jndi-name>jms/WLReplyQCF</local-jndi-name>
              <remote-jndi-name>MQReceiverQCF</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 for the tips - I solved the problem. I first recreated my .bindinds file making sure that both QCF objects are in there (it turned out that only ONE of them was there and not the other). Next, I also removed an extra space " " from the URL reference in the Foreign JMS service setup in the console:
              was like this initially:
              <connection-url>file:/ C:/JNDI-Directory</connection-url>
              and I changed it to this - removing single space after first "/":
              <connection-url>file:/C:/JNDI-Directory</connection-url>
              Restarted the whole thing and it worked! Thanks again.

  • MDB problem with Foreign JMS MQ

    Hi,
    I have MDB 2.1 and i am trying to deploy in weblogic 10.2 app server. Below is my ejb-jar.xml and weblogic.jar xml config. I have a foreign JMS configured and i have destination and connection factory configured too. I was able to post a message to the queue successfully, but my MDB is not getting executed I am getting below exception during the startup of application. I can see other EJBs in the JNDI but not my MDBs. Please advice and your help is very much appreciated.
    Warning Message:
    <Jun 1, 2010 10:24:04 AM CDT> <Warning> <EJB> <BEA-010061> <The Message-Driven EJB: IFIPNCDistributorMDB is unable to connect to the JMS destination: jms/MyQueue. The Error was:
    Can not get distribute destination information. The destination JNDI name is jms/MyQueue, the provider URL is file:/C:/JNDI-Directory>
    weblogic-ejb-jar.xml
    <weblogic-enterprise-bean>
    <ejb-name>MDB</ejb-name>
    <message-driven-descriptor>
    <pool>
    <max-beans-in-free-pool>4</max-beans-in-free-pool>
    <initial-beans-in-free-pool>4</initial-beans-in-free-pool>
    </pool>
    <destination-jndi-name>jms/IFIPNCQueue</destination-jndi-name>
    <initial-context-factory>com.sun.jndi.fscontext.RefFSContextFactory</initial-context-factory>
    <provider-url>file:/C:/JNDI-Directory</provider-url>
    <connection-factory-jndi-name>jms/MyQCF</connection-factory-jndi-name>
    </message-driven-descriptor>
    <reference-descriptor>
    <resource-description>
    <res-ref-name>MyQCF</res-ref-name>
    <jndi-name>jms/MyQCF</jndi-name>
    </resource-description>
    <resource-description>
    <res-ref-name>MyQueue</res-ref-name>
    <jndi-name>jms/MyQueue</jndi-name>
    </resource-description>
    </reference-descriptor>
    <jndi-name>MDB</jndi-name>
    </weblogic-enterprise-bean>
    ejb-jar.xml
    <message-driven id="MDB">
                   <ejb-name>MDB</ejb-name>
                   <ejb-class>com.IFIPNCDistributorMDB</ejb-class>               
                   <transaction-type>Bean</transaction-type>               
                   <message-driven-destination>
                        <destination-type>javax.jms.Queue</destination-type>
                   </message-driven-destination>
                   <resource-ref>
              <res-ref-name>jms/QCF</res-ref-name>
              <res-type>javax.jms.QueueConnectionFactory</res-type>
              <res-auth>Application</res-auth>
              <res-sharing-scope>Unshareable</res-sharing-scope>
         </resource-ref>
         <resource-ref>
              <res-ref-name>jms/MyQueue</res-ref-name>
              <res-type>javax.jms.Queue</res-type>
              <res-auth>Application</res-auth>
              <res-sharing-scope>Unshareable</res-sharing-scope>
              </resource-ref>
              </message-driven>
    Thank You,
    VJ

    Can you setup as in this example:
    Foreign JMS_
    <foreign-server name=”ForeignServer”>
    <default-targeting-enabled>true</default-targeting-enabled>
    <foreign-destination name=”A”>
    <local-jndi-name>A</local-jndi-name>
    <remote-jndi-name>queue/A</remote-jndi-name>
    </foreign-destination>
    <foreign-connection-factory name=”FConf”>
    <local-jndi-name>FConf</local-jndi-name>
    <remote-jndi-name>ConnectionFactory</remote-jndi-name>
    <username>esbuser</username>
    <password-encrypted>{3DES}90sIZwo6Llr9r73p+VXkvQ==</password-encrypted>
    </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-ejb-jar.xml_
    <?xml version=’1.0′ encoding=’UTF-8′?>
    <web:weblogic-ejb-jar xmlns:web=”http://www.bea.com/ns/weblogic/weblogic-ejb-jar”>
    <web:weblogic-enterprise-bean>
    <web:ejb-name>RequestEJB-2518965873970113789–2352f820.127bd3f293c.-7fdb</web:ejb-name>
    <web:message-driven-descriptor>
    <web:pool>
    <web:max-beans-in-free-pool>1000</web:max-beans-in-free-pool>
    <web:initial-beans-in-free-pool>1</web:initial-beans-in-free-pool>
    </web:pool>
    <web:destination-jndi-name>A</web:destination-jndi-name>
    <web:connection-factory-jndi-name>FConf</web:connection-factory-jndi-name>
    </web:message-driven-descriptor>
    <web:transaction-descriptor>
    <web:trans-timeout-seconds>600</web:trans-timeout-seconds>
    </web:transaction-descriptor>
    <web:resource-description>
    <web:res-ref-name>jms/ConnectionFactory</web:res-ref-name>
    <web:jndi-name>FConf</web:jndi-name>
    </web:resource-description>
    <web:resource-description>
    <web:res-ref-name>jms/QueueName</web:res-ref-name>
    <web:jndi-name>A</web:jndi-name>
    </web:resource-description>
    </web:weblogic-enterprise-bean>
    </web:weblogic-ejb-jar>
    Note, local JNDI names in the foreign jms server should be used for destination-jndi and conection-factory-jndi. No need to specify provider URL in deployment descriptors. Instead it is specified at the foreign jms setup.
    Also you should use the same resource-reference names in both ejb-jar & weblogic-ejb-jar.xml's., In above example resource-reference section of ejb-jar should look like:
    <resource-ref>
    <res-ref-name>jms/ConnectionFactory</res-ref-name>
    <res-type>javax.jms.QueueConnectionFactory</res-type>
    <res-auth>Application</res-auth>
    <res-sharing-scope>Unshareable</res-sharing-scope>
    </resource-ref>
    <resource-ref>
    <res-ref-name>jms/QueueName</res-ref-name>
    <res-type>javax.jms.Queue</res-type>
    <res-auth>Application</res-auth>
    <res-sharing-scope>Unshareable</res-sharing-scope>
    </resource-ref>

Maybe you are looking for

  • Performance tuning & Securing MX 7 on IIS 6

    I never had much at all to do with Coldfusion and have just been asked to look into making some security and performance suggestions for a small Windows 2003/IIS 6 server farm using Coldfusion MX 7. This is what I was planning; Configure all IIS webs

  • Problem photographing score to PDF file

    Hi, I'm currently having a major problem photographing my score in logic pro 8. It will only recognize the first page. Even when I try to shoot individual pages, the only page that can be viewed in PDF format is the first. Can someone point me in the

  • Random App Crashes? Is this iOS 6.0.1 issues?

    I have an iPod touch 5g and am on iOS 6.0.1 . I sometimes experience built in apps like Camera and the App Store crash for no reason :( Does any else have random apps that keep crashing ? I also restart and reset but the problem later comes back. It

  • Imail stopped working with launch of iCloud

    My imail is not working on my computer but it is on my phone. This all happened after iCloud was launched last week. What do I do?

  • Execute xset on start-up

    Ok, i wasn't happy with the mouse speed in Xorg and i read the wiki. I found out that this sets the mouse speed: xset m 1 1 Well i did it and i liked the new mousespeed/acceleration but i was unhappy with the fact i had to do it after every start of