Setting up Foreign JMS Dest. to MQ: JMS Destination not found

I'm trying to set up a foreign JMS destination to an MQ queue. There are several steps you have to get right for this to work. I thought I did them all correctly, but when I deploy the app with an MDB that references the JNDI name, it says (in the console) that the destination with the particular JNDI name could not be found.
          I first used JMSAdmin to create the JNDI data in the provider URL file location. I created the qcf and the queue. I've displayed my results that I set with that, and it all looks fine. One thing that I'm unsure about with this, however, is that the document on using JMSAdmin doesn't make it clear exactly which field in the "queue" definition is the JNDI name, and which is the MQ queue name. My guess is that the value of the "q" field is the JNDI name, and the value of the "queue" field is the MQ queue name. I'm not certain.
          I then created the foreign JMS info in the WebLogic console. I first created the foreign JMS server, using the "RefFSContextFactory" class, and my file location for the provider URL.
          I then created the foreign JMS ConnectionFactory, specifying my JNDI name in both the "local" and "remote" fields. I don't know what the difference is between those two. I did NOT enter a value in the "User Name" or "Password" fields. I don't know whether that's an issue.
          I then created the foreign JMS destination. I set the "local" and "remote" JNDI values to the JNDI value I set in the "q" field in JMSAdmin.
          I then defined an app using an MDB, with the "destination-jndi-name" set to the same value I set in the "q" field.
          When I deployed the app, I saw an error message on the console saying that when deploying the EJB module, the JNDI name (that I had specified in the "q" field) could not be found.

David,
          first you should check, whether the JNDI-Entry is deployed. You can
          check this by displaying the jndi-tree on the weblogic console. to do
          this, right click on the server entry and select "view jndi tree".
          the point with the jndi-tree you entered as "local jndi destination"
          should be violet.
          in the definitions of foreign jms-destinations and connection factories
          you always set:
          remote jndi name: the entry which you made in JMSADMIN
          local jndi name: the jndi entry you want to use inside weblogic.
          hope this helps,
          Klaas
          David Karr schrieb:
          > I'm trying to set up a foreign JMS destination to an MQ queue. There are several steps you have to get right for this to work. I thought I did them all correctly, but when I deploy the app with an MDB that references the JNDI name, it says (in the console) that the destination with the particular JNDI name could not be found.
          >
          > I first used JMSAdmin to create the JNDI data in the provider URL file location. I created the qcf and the queue. I've displayed my results that I set with that, and it all looks fine. One thing that I'm unsure about with this, however, is that the document on using JMSAdmin doesn't make it clear exactly which field in the "queue" definition is the JNDI name, and which is the MQ queue name. My guess is that the value of the "q" field is the JNDI name, and the value of the "queue" field is the MQ queue
          > name. I'm not certain.
          >
          > I then created the foreign JMS info in the WebLogic console. I first created the foreign JMS server, using the "RefFSContextFactory" class, and my file location for the provider URL.
          >
          > I then created the foreign JMS ConnectionFactory, specifying my JNDI name in both the "local" and "remote" fields. I don't know what the difference is between those two. I did NOT enter a value in the "User Name" or "Password" fields. I don't know whether that's an issue.
          >
          > I then created the foreign JMS destination. I set the "local" and "remote" JNDI values to the JNDI value I set in the "q" field in JMSAdmin.
          >
          > I then defined an app using an MDB, with the "destination-jndi-name" set to the same value I set in the "q" field.
          >
          > When I deployed the app, I saw an error message on the console saying that when deploying the EJB module, the JNDI name (that I had specified in the "q" field) could not be found.

Similar Messages

  • Weblogic 8.1: Remote/Foreign Server JMS - Destination not found error

    Hi
    This is our current setup: Weblogic Server 8.1 with JMS module running on the same instance as the application. We would like to move JMS out into its own box. I am currently setting up my development environment to test the new setup. These are the steps I followed:
    * Setup the server instance running the application on one box (Box1). Removed the existing JMS Connection Factory and Destination JNDI setup
    * Setup a server instance on another box (Box2) without the application. Created the necessary JMS Connection Factories and Destinations. Started the server instance on Box2
    * Added a Foreign Server configuration on Box1. Created the connection factory and destinations under this foreign server pointing to Box2
    * The Foreign JNDI names are being bound correctly (I verified the JNDI tree on Box1). Restarted the server instance of Box1
    Message-Driven Beans deployed on Box1 are unable to retrieve messages from Box2. The exception thrown is given below. Any help in troubleshooting and resolving this issue is appreciated.
    <Warning> <EJB> <myserver> <main> <<WLS Kernel>> <> <BEA-010061> <The Message-Driven EJB: MyBean is unable to connect to the JMS destination: jms/my.application.firstQueue. The Error was:
    weblogic.jms.common.JMSException: Destination not found
    weblogic.jms.common.JMSException: Destination not found
    at weblogic.jms.dispatcher.InvocableManager.invocableFind(InvocableManager.java:136)
    at weblogic.jms.backend.BESession.createConsumer(BESession.java:153)
    at weblogic.jms.backend.BESession.invoke(BESession.java:1457)
    at weblogic.jms.dispatcher.Request.wrappedFiniteStateMachine(Request.java:643)
    at weblogic.jms.dispatcher.DispatcherImpl.dispatchSync(DispatcherImpl.java:179)
    at weblogic.jms.frontend.FEConsumer.<init>(FEConsumer.java:232)
    at weblogic.jms.frontend.FESession$3.run(FESession.java:1058)
    at weblogic.security.acl.internal.AuthenticatedSubject.doAs(AuthenticatedSubject.java:363)
    at weblogic.security.service.SecurityManager.runAs(SecurityManager.java:147)
    at weblogic.jms.frontend.FESession.consumerCreate(FESession.java:1054)
    at weblogic.jms.frontend.FESession.invoke(FESession.java:2552)
    at weblogic.jms.dispatcher.Request.wrappedFiniteStateMachine(Request.java:643)
    at weblogic.jms.dispatcher.DispatcherImpl.dispatchSync(DispatcherImpl.java:179)
    at weblogic.jms.client.JMSSession.consumerCreate(JMSSession.java:1860)
    at weblogic.jms.client.JMSSession.createConsumer(JMSSession.java:1691)
    at weblogic.jms.client.JMSSession.createReceiver(JMSSession.java:1530)
    at weblogic.ejb20.internal.JMSConnectionPoller.setUpQueueSessions(JMSConnectionPoller.java:1720)
    at weblogic.ejb20.internal.JMSConnectionPoller.createJMSConnection(JMSConnectionPoller.java:2019)
    at weblogic.ejb20.internal.JMSConnectionPoller.connectToJMS(JMSConnectionPoller.java:1180)
    at weblogic.ejb20.internal.JMSConnectionPoller.startJMSConnectionPolling(JMSConnectionPoller.java:846)
    at weblogic.ejb20.deployer.MessageDrivenBeanPoolInfoImpl.start(MessageDrivenBeanPoolInfoImpl.java:234)
    at weblogic.ejb20.deployer.EJBDeployer.deployMessageDrivenBeans(EJBDeployer.java:1660)
    at weblogic.ejb20.deployer.EJBDeployer.startMessageDrivenBeans(EJBDeployer.java:1555)
    at weblogic.t3.srvr.T3Srvr.startMDBs(T3Srvr.java:948)
    at weblogic.t3.srvr.T3Srvr.resume(T3Srvr.java:1024)
    at weblogic.t3.srvr.T3Srvr.run(T3Srvr.java:361)
    at weblogic.Server.main(Server.java:32)
    Edited by: user8773992 on Sep 2, 2009 11:31 AM

    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

  • JMS Default queue not found

    I do not have any knowledge of JMS and I am getting couple of warnings of this kind . Can anyone please explain it to me.
    <WSEE>Warning: JMS queue 'weblogic.wee.DefaultQueue' is not found, as a result, Web Service async responses via jms transport is not supported. If the target service uses JMS transport, the responses will not be able to come back.<JmsQueueListener.connect:227>

    Hi,
    This WARNING can be ignored ... Or if you dont want to see any such message next time..then please apply "-Dweblogic.wsee.skip.async.response=true"
    Details:
    Async web service support is not fully configured. The async response web service uri for this server was not fully deployed because the JMS reliability queue was not defined/deployed: queueName. The server will periodically retry completing the deploy for the service. This message can usually be ignored unless there are async web service applications. To completely disable async web service support, thus avoiding this message, set -Dweblogic.wsee.skip.async.response=true.
    More Details:
    http://download.oracle.com/docs/cd/E15523_01/apirefs.1111/e14397/WebService.html
    Thanks
    Jay SenSharma
    http://jaysensharma.wordpress.com (WebLogic Wonders Are Here)

  • Set IDOC number as Correlation ID in JMS Receiver Adapter

    Hi ,
    I am working in PI7.1  on IDOC to JMS interface,
    I want set  IDOC number as Correlation ID in JMS queue ,
    I did following Correlation steps ,
    1. Set JMSCorrelation ID to PI Conversation ID
    2. Checked JMS CorrelationID of request
    3.Value to PI Conversation ID
    In Adavanced Tab
    Checked Use Adapter specific Message attributes
    Checked  Fial if  Adapter specific Message attributes missing
    Checked JMS Message Correlation ID
    Additional Parameter
    DCJMSCorreleationID     String
    I have created user defined function ,  Not using BPM , i don't have correlation ID in target field data type
    DynamicConfiguration conf = (DynamicConfiguration) container.getTransformationParameters().get(StreamTransformationConstants.DYNAMIC_CONFIGURATION);
    DynamicConfigurationKey key = DynamicConfigurationKey.create("http://sap.com/xi/XI/System/JMS", "DCJMSCorreleationID");
    return conf.put(key, messageId);
    please help to how to use UDF in mapping for mapping which field .
    Thanks ,
    Laxman.

    Hi Swetha ,
    Thanks for your response ,
    I created user defined function with one parameter , no input parmeter .
    My root node of IDOC as Structure type ,
    In UDF , i have not mapped the IDOC number
    public String CorrelationID(String messageId, Container container) throws StreamTransformationException{
    DynamicConfiguration conf = (DynamicConfiguration) container.getTransformationParameters().get(StreamTransformationConstants.DYNAMIC_CONFIGURATION);
    DynamicConfigurationKey key = DynamicConfigurationKey.create("http://sap.com/xi/XI/System/JMS", "DCJMSCorreleationID");
    return conf.put(key, messageId);
    messageId  I need map in additonal parameter .
    Thanks ,
    Laxman.
    DCJMSCorreleationID     messageId

  • JMS Listener Class Not found

    Hi
    I got the following error when starting weblogic 8.1 server:
    ####<Jul 14, 2004 5:24:15 PM PDT> <Notice> <Security> <sjcpc044> <myserver> <Thread-1> <<WLS Kernel>> <> <BEA-090082> <Security initializing using security realm myrealm.>
    ####<Jul 14, 2004 5:24:15 PM PDT> <Notice> <WebLogicServer> <sjcpc044> <myserver> <Thread-1> <<WLS Kernel>> <> <BEA-000327> <Starting WebLogic Admin Server "myserver" for domain "cdrdomain">
    ####<Jul 14, 2004 5:24:20 PM PDT> <Error> <JMS> <sjcpc044> <myserver> <Thread-1> <<WLS Kernel>> <> <BEA-040371> <JMSServer "JMSServer-0" JMS Server Session Pool is inavlid and has not been started "CMSessionPool". Exception is "weblogic.jms.common.ConfigurationException: Listener class, com.carescience.jms.CMMsgListener, not found".
    weblogic.jms.common.ConfigurationException: Listener class, com.carescience.jms.CMMsgListener, not found
    at weblogic.jms.backend.BEServerSessionPool.setListener(Ljava.lang.String;)V(BEServerSessionPool.java:283)
    at weblogic.jms.backend.BEServerSessionPool.initialize()V(BEServerSessionPool.java:220)
    at weblogic.jms.backend.BEServerSessionPool.<init>(Ljava.lang.String;Lweblogic.jms.common.JMSID;Lweblogic.jms.backend.BackEnd;Lweblogic.management.configuration.JMSSessionPoolMBean;)V(BEServerSessionPool.java:178)
    at weblogic.jms.backend.BackEnd.createServerSessionPools()V(BackEnd.java:792)
    at weblogic.jms.backend.BackEnd.resume()V(BackEnd.java:1314)
    at weblogic.jms.JMSService.addJMSServer(Lweblogic.management.configuration.JMSServerMBean;)V(JMSService.java:2241)
    at weblogic.jms.JMSService.addDeployment(Lweblogic.management.configuration.DeploymentMBean;)V(JMSService.java:2012)
    at weblogic.management.mbeans.custom.DeploymentTarget.addDeployment(Lweblogic.management.configuration.DeploymentMBean;)Z(DeploymentTarget.java:330)
    at weblogic.management.mbeans.custom.DeploymentTarget.addDeployments(Ljava.util.List;)V(DeploymentTarget.java:590)
    at weblogic.management.mbeans.custom.DeploymentTarget.updateServerDeployments()V(DeploymentTarget.java:568)
    at weblogic.management.mbeans.custom.DeploymentTarget.updateDeployments()V(DeploymentTarget.java:240)
    at COM.jrockit.reflect.NativeMethodInvoker.invoke0(ILjava.lang.Object;[Ljava.lang.Object;)Ljava.lang.Object;(Native Method)
                at COM.jrockit.reflect.NativeMethodInvoker.invoke(Ljava.lang.Object;[Ljava.lang.Object;)Ljava.lang.Object;(Unknown Source)
                at COM.jrockit.reflect.VirtualNativeMethodInvoker.invoke(Ljava.lang.Object;[Ljava.lang.Object;)Ljava.lang.Object;(Unknown Source)
                at java.lang.reflect.Method.invoke(Ljava.lang.Object;[Ljava.lang.Object;I)Ljava.lang.Object;(Unknown Source)
                at weblogic.management.internal.DynamicMBeanImpl.invokeLocally(Ljava.lang.String;[Ljava.lang.Object;[Ljava.lang.String;)Ljava.lang.Object;(DynamicMBeanImpl.java:711)
                at weblogic.management.internal.DynamicMBeanImpl.invoke(Ljava.lang.String;[Ljava.lang.Object;[Ljava.lang.String;)Ljava.lang.Object;(DynamicMBeanImpl.java:690)
                at weblogic.management.internal.ConfigurationMBeanImpl.invoke(Ljava.lang.String;[Ljava.lang.Object;[Ljava.lang.String;)Ljava.lang.Object;(ConfigurationMBeanImpl.java:476)
                at com.sun.management.jmx.MBeanServerImpl.invoke(Ljava.lang.Object;Ljava.lang.String;[Ljava.lang.Object;[Ljava.lang.String;)Ljava.lang.Object;(MBeanServerImpl.java:1557)
                at com.sun.management.jmx.MBeanServerImpl.invoke(Ljavax.management.ObjectName;Ljava.lang.String;[Ljava.lang.Object;[Ljava.lang.String;)Ljava.lang.Object;(MBeanServerImpl.java:1525)
                at weblogic.management.internal.RemoteMBeanServerImpl.private_invoke(Ljavax.management.ObjectName;Ljava.lang.String;[Ljava.lang.Object;[Ljava.lang.String;)Ljava.lang.Object;(RemoteMBeanServerImpl.java:947)
                at weblogic.management.internal.RemoteMBeanServerImpl.invoke(Ljavax.management.ObjectName;Ljava.lang.String;[Ljava.lang.Object;[Ljava.lang.String;)Ljava.lang.Object;(RemoteMBeanServerImpl.java:908)
                at weblogic.management.internal.MBeanProxy.invoke(Ljava.lang.String;[Ljava.lang.Object;)Ljava.lang.Object;(MBeanProxy.java:946)
                at weblogic.management.internal.MBeanProxy.invokeForCachingStub(Ljava.lang.String;[Ljava.lang.Object;)Ljava.lang.Object;(MBeanProxy.java:481)
                at weblogic.management.configuration.ServerMBean_Stub.updateDeployments()V(ServerMBean_Stub.java:7271)
                at weblogic.management.deploy.slave.SlaveDeployer.updateServerDeployments()V(SlaveDeployer.java:1210)
                at weblogic.management.deploy.slave.SlaveDeployer.resume()V(SlaveDeployer.java:362)
                at weblogic.management.deploy.DeploymentManagerServerLifeCycleImpl.resume()V(DeploymentManagerServerLifeCycleImpl.java:229)
                at weblogic.t3.srvr.SubsystemManager.resume()V(SubsystemManager.java:131)
                at weblogic.t3.srvr.T3Srvr.resume()V(T3Srvr.java:964)
                at weblogic.t3.srvr.T3Srvr.run([Ljava.lang.String;)I(T3Srvr.java:359)
                at weblogic.Server.main([Ljava.lang.String;)V(Server.java:32)
    >
    Here is the how the ListenerClass is set up for JMSSessionPool in config.xml. The com.carescience.jms.CMMsgListener class file is in cia.ear deployed as application for this domain.
        <JMSServer Name="JMSServer-0" Store="jmsq" Targets="myserver">
            <JMSSessionPool
                ConnectionFactory="com.carescience.jms.ConnectionFactory"
                ListenerClass="com.carescience.jms.CMMsgListener"
                Name="CMSessionPool" SessionsMaximum="3">
                <JMSConnectionConsumer
                    Destination="com.carescience.jms.CMTopic" Name="CMConnectionConsumer"/>
            </JMSSessionPool>
            <JMSTopic DestinationKeys="MDSDESTKEY"
                JNDIName="com.carescience.jms.CMTopic" Name="CMTopic"/>
        </JMSServer>
        <Application Name="_appsdir_cia_ear"
            Path="C:\bea81\user_projects\domains\cdrdomain\applications\cia.ear"
            StagedTargets="myserver" StagingMode="stage" TwoPhase="true">
            <EJBComponent Name="ejb_exchange.jar" Targets="myserver" URI="ejb_exchange.jar"/>
            <EJBComponent Name="heartbeat.jar" Targets="myserver" URI="heartbeat.jar"/>
            <WebAppComponent Name="cia" Targets="myserver" URI="cia.war"/>
            <WebAppComponent Name="axis" Targets="myserver" URI="axis.war"/>
        </Application>
    I know we can avoid to the error by adding the jar file containing this class to the class path. But is there any other way?
    Best Regards,
    Kelvin Zheng                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                       

    You could double-check in the JMS newsgroup, but I'm pretty sure that a statically configured listener like this would have to be in the classpath.
    If possible, I'd encourage you to consider using a MDB instead. That could be in your EAR file instead.
    -- Rob

  • JMS Correlation ID in JMS Receiver Adapter

    Hi ,
    I am working in PI7.1 on IDOC to JMS interface,
    I want set IDOC number as Correlation ID in JMS queue ,
    I did following Correlation steps ,
    1. Set JMSCorrelation ID to PI Conversation ID
    2. Checked JMS CorrelationID of request
    3.Value to PI Conversation ID
    In Adavanced Tab
    Checked Use Adapter specific Message attributes
    Checked Fial if Adapter specific Message attributes missing
    Checked JMS Message Correlation ID
    Additional Parameter
    DCJMSCorreleationID String
    I have created user defined function , Not using BPM , i don't have correlation ID in target field data type
    DynamicConfiguration conf = (DynamicConfiguration) container.getTransformationParameters().get(StreamTransformationConstants.DYNAMIC_CONFIGURATION);
    DynamicConfigurationKey key = DynamicConfigurationKey.create("http://sap.com/xi/XI/System/JMS", "DCJMSCorreleationID");
    return conf.put(key, idoc_number); 
    I tested UDF with mapping to target field, UDF is working .
    But in JMS Correlation ID value is null
    I am getting error in Communication Channel  monitor if ticked check box of fail If adapter-specific message attributes
    Message processing failed. Cause: com.sap.engine.interfaces.messaging.api.exception.MessagingException: Dynamic header records are missing/incorrect specified in message: 000c2901-fc48-1def-82f9-4b126dff2151. Erroneous/Unspecified headers are: DCJMSCorreleationID
    1/27/10 11:02:36 PM 000c2901-fc48-1def-82f9-4b126dff2151 Dynamic record/records: DCJMSCorreleationID, that correspond to the JMS property/properties: JMSCorrelationID, respectively is/are either missing from the message: 000c2901-fc48-1def-82f9-4b126dff2151, or have invalid types specified in the channel configuration

    Hi Swetha ,
    Thanks for your response ,
    I created user defined function with one parameter , no input parmeter .
    My root node of IDOC as Structure type ,
    In UDF , i have not mapped the IDOC number
    public String CorrelationID(String messageId, Container container) throws StreamTransformationException{
    DynamicConfiguration conf = (DynamicConfiguration) container.getTransformationParameters().get(StreamTransformationConstants.DYNAMIC_CONFIGURATION);
    DynamicConfigurationKey key = DynamicConfigurationKey.create("http://sap.com/xi/XI/System/JMS", "DCJMSCorreleationID");
    return conf.put(key, messageId);
    messageId  I need map in additonal parameter .
    Thanks ,
    Laxman.
    DCJMSCorreleationID     messageId

  • JMS Listner: Test Configuration Successful but not listening the messages

    Hi,
    I have configured the JMS Listner adapter in IDM 7.0 with Sun MQ 3.5.
    My test configuration is susscessful. I have some messages on Sun MQ. I have one wotkflow associated with this adapter. I have mapped it via process rule of Edit Sync Policy. Now I want to read the messages from MQ and want to retrive in my workflow. But when I starts the scynchronization nothing comes to my workflow. The log is showing as
    2007-08-16T19:05:38.354+0530: SARunner: initialized adapter
    2007-08-16T19:05:38.404+0530: Initializing JMS Listener adapter.
    2007-08-16T19:05:38.414+0530: Setting up JMS: local_transaction:true ackMode:1
    2007-08-16T19:05:38.414+0530: Setting up JMS: user:admin password:<secret length=5/>
    2007-08-16T19:05:38.414+0530: Setting up JMS: destinationType=QUEUE connFactoryName=MyQueueConnectionFactory destinationName=MyQueue messageSelector=null
    2007-08-16T19:05:38.424+0530: Connection factory JNDI lookup returned an object of type com.sun.messaging.QueueConnectionFactory
    2007-08-16T19:05:38.504+0530: JMS connection and consumer successfully created.
    2007-08-16T19:05:38.514+0530: Connection JMS Info
    PROVIDER NAME = Sun Java(tm) System Message Queue
    PROVIDER VERSION = 3.5
    PROVIDER MAJOR = 3
    PROVIDER MINOR = 6
    JMS VERSION = 1.1
    JMS MAJOR = 1
    JMS MINOR = 1
    CLIENT_ID = null
    2007-08-16T19:05:38.524+0530: Done initializing JMS Listener adapter.
    2007-08-16T19:05:38.534+0530: SARunner: loop 0
    2007-08-16T19:05:38.955+0530: Started, paused until Thu Aug 16 19:05:38 GMT+05:30 2007
    2007-08-16T19:05:44.123+0530: Pause completed
    2007-08-16T19:05:44.333+0530: Polling
    2007-08-16T19:05:45.334+0530: Poll processed 0 messages.
    2007-08-16T19:05:45.334+0530: Poll complete.
    I am new with this adapter. Please anybody tell me what should I have to configure so that I would be able to read the messages from my JMS Listner Active Sync adapter?
    Thanks in Advance

    So, in order to get the message you have to map it. That is done be specifying the "Message Mapping", one of the Resource Parameters for JMS Listener. This can be done by specifying a rule that returns a <map> with the attribute. This would be, in my opinion, the preferred approach for text messages. For Map massages, the rule approach can't be used unless you use the jms java libraries, getString etc.
    You can also implement the com.waveset.adapter.jms.JmsMessageMapper if java is your cup of tea, and put that in the message mapping text box. Password synch uses a java class to do the mapping.
    To map the attribute called accId on the right side, you would use something like this:
    <Rule name='JMS Message Mapper Rule'>
        <block>
            <map>
                <s>accId</s>
                <ref>message</ref>
            </map>
        </block>The Message Mapping text box would in this case look like this:
    "rule:JMS Message Mapper Rule"
    The <ref>message</ref> part contains the JMS text message. In this case the message consist of only one word. In a real-life situation, you would send a bunch of information, perhaps using split to separate the data.

  • JMS Connector WebSphere MQ JMS Problems

    I'm having problems configuring and using Oracle's JMS Connector with IBM WebSphere MQ JMS, as explained in the following Oracle How-to:
    http://www.oracle.com/technology/tech/java/oc4j/1013/how_to/how-to-connect-to-mqseries/doc/how-to-connect-to-mqseries.html
    by Jeff Steidl
    When trying to deploy the application to the oc4j (wich is done as part of the default ant target), I get the following error in the oc4j console:
    2006-07-20 12:04:29.859 ERROR J2EE EJB3027 [how-to-connect-to-mqseries] An error
    occured deploying EJB module: java.lang.InstantiationException: Resource except
    ion(MQJMSRAInstanceName) for MessageDrivenBean DealerEjbName during endpoint act
    ivation: failure looking up resource provider factory for XAConnectionFactoryWra
    pper [XA Unified]-OracleGJRA.XAConnectionFactoryWrapper.pedroec.-7b007002:10c88d
    48c98:-7fff.171 []: javax.resource.spi.ResourceAdapterInternalException: Looking
    up java:comp/resource/MQJMSReference/mqxacf: javax.naming.NameNotFoundException
    : No resource named 'MQJMSReference/mqxacf'found
    I assume the problem is that I don't have an appropriate WebShpere binding for the resource.
    Before going through the mentioned How-to, I followed the install instructions in:
    http://www.oracle.com/technology/tech/java/oc4j/1003/how_to/jcajmsmq/doc/Install.html
    In order to create a queue manager, a queue, a topic and the appropriate bindings.
    After following the previous document, I end up with the following bindings (listing obtained using JMSAdmin console):
    InitCtx> dis ctx
    Contents of InitCtx
    .bindings java.io.File
    a MQXAQCF com.ibm.mq.jms.MQXAQueueConnectionFactory
    a MQTCF com.ibm.mq.jms.MQTopicConnectionFactory
    a MQQCF com.ibm.mq.jms.MQQueueConnectionFactory
    a MQQ com.ibm.mq.jms.MQQueue
    a MQT com.ibm.mq.jms.MQTopic
    a MQXATCF com.ibm.mq.jms.MQXATopicConnectionFactory
    7 Object(s)
    0 Context(s)
    7 Binding(s), 6 Administered
    And as you can see there is no mqxacf binding.
    So the question is, should I define a new binding with that name? If so, what would be the command (def xacf(mqxacf) ?)
    As you can see, ther is a MQXAQCF binding so Instead of defining a new mqxacf (which I really don't know how to do...) I thought that maybe I could use this one, being a xa queue connection factory instead of a plain xa connection factory.
    This is used by the MDB, so I modified orion-ejb-jar.xml changing:
    <resource-ref-mapping
    location = "MQJMSRASubcontext/MyXACF"
    name = "jms/DealerConnectionFactory"/>
    <config-property>
    <config-property-name>ConnectionFactoryJndiName
    </config-property-name>
    <config-property-value>MQJMSRASubcontext/MyXACF
    </config-property-value>
    </config-property>
    for this:
    <resource-ref-mapping
    location = "MQJMSRASubcontext/MyXAQCF"
    name = "jms/DealerConnectionFactory"/>
    <config-property>
    <config-property-name>ConnectionFactoryJndiName
    </config-property-name>
    <config-property-value>MQJMSRASubcontext/MyXAQCF
    </config-property-value>
    </config-property>
    I changed MyXACF with MyXAQCF because oc4j-ra.xml defines a jndi location of mqxacf (which is not beign found in the bindings) for MyXACF while it defines a jndi location of MQXAQCF for MyXAQCF, which is defined in the bindings.
    With this change, the application deploys ok ... but when I run the client (ant larry) I get the following error (from the client console, not the oc4j console... in the oc4j console, nothing is reported):
    run-demo:
    [exec] java.lang.NullPointerException
    [exec] at oracle.j2ee.ra.jms.generic.RAUtils.lookupUsingResourceProvide
    r(RAUtils.java:254)
    [exec] at oracle.j2ee.ra.jms.generic.CommonManagedConnectionFactoryImpl
    .getFactory(CommonManagedConnectionFactoryImpl.java:605)
    [exec] at oracle.j2ee.ra.jms.generic.CommonFactoryWrapper.localCreateCo
    nnection(CommonFactoryWrapper.java:121)
    [exec] at oracle.j2ee.ra.jms.generic.ConnectionFactoryWrapper.createCon
    nection(ConnectionFactoryWrapper.java:62)
    [exec] at MyChannel.<init>(MyChannel.java:46)
    [exec] at Player.play(Player.java:242)
    [exec] at Player.main(Player.java:30)
    Since MyCF is bound to the jndi location mqcf (in oc4j-ra.xml) which does not exist in my MQ bindings I decided to modify orion-ejb-jar.xml as I did for the MyXACF of the MDB.
    I changed
    <resource-ref-mapping
    location = "MQJMSRASubcontext/MyCF"
    name = "jms/PlayerConnectionFactory"/>
    with this:
    <resource-ref-mapping
    location = "MQJMSRASubcontext/MyQCF"
    name = "jms/PlayerConnectionFactory"/>
    I changed MyCF to MyQCF, which has a jndi location of MQQCF (specified inside of oc4j-ra.xml) which has a valid MQ binding.
    .... but I get the following error:
    run-demo:
    [exec] Exception in thread "main" java.lang.AbstractMethodError: com.ibm.mq
    .jms.MQQueueConnectionFactory.createConnection()Ljavax/jms/Connection;
    [exec] at oracle.j2ee.ra.jms.generic.CommonManagedConnectionFactoryImpl
    .createManagedConnection(CommonManagedConnectionFactoryImpl.java:261)
    [exec] at com.evermind.server.connector.ApplicationConnectionManager.cr
    eateManagedConnection(ApplicationConnectionManager.java:1333)
    [exec] at oracle.j2ee.connector.ConnectionPoolImpl.createManagedConnect
    ionFromFactory(ConnectionPoolImpl.java:324)
    [exec] at oracle.j2ee.connector.ConnectionPoolImpl.access$800(Connectio
    nPoolImpl.java:95)
    [exec] at oracle.j2ee.connector.ConnectionPoolImpl$NonePoolingScheme.ge
    tManagedConnection(ConnectionPoolImpl.java:1209)
    [exec] at oracle.j2ee.connector.ConnectionPoolImpl.getManagedConnection
    (ConnectionPoolImpl.java:782)
    [exec] at com.evermind.server.connector.ApplicationConnectionManager.ge
    tConnectionFromPool(ApplicationConnectionManager.java:1532)
    [exec] at com.evermind.server.connector.ApplicationConnectionManager.ac
    quireConnectionContext(ApplicationConnectionManager.java:1477)
    [exec] at com.evermind.server.connector.ApplicationConnectionManager.al
    locateConnection(ApplicationConnectionManager.java:1423)
    [exec] at oracle.j2ee.connector.OracleConnectionManager.unprivileged_al
    locateConnection(OracleConnectionManager.java:244)
    [exec] at oracle.j2ee.connector.OracleConnectionManager.allocateConnect
    ion(OracleConnectionManager.java:198)
    [exec] at oracle.j2ee.ra.jms.generic.CommonFactoryWrapper.localCreateCo
    nnection(CommonFactoryWrapper.java:130)
    [exec] at oracle.j2ee.ra.jms.generic.QueueConnectionFactoryWrapper.crea
    teConnection(QueueConnectionFactoryWrapper.java:84)
    [exec] at MyChannel.<init>(MyChannel.java:46)
    [exec] at Player.play(Player.java:242)
    [exec] at Player.main(Player.java:30)
    [exec] Result: 1
    So as you can see I'm stuck.
    Maybe it is just a simple matter of defining the appropriate objects and bindigs for mqxacf and mqcf, but I don't know how to do that.
    I would appreciate any help.
    Message was edited by:
    pablokrause

    Thanks again for your quick and useful response Jeff.
    Regarding the extra administration steps to get topic consumers working in MQ, I had already executed them a few days ago as part of the MQ setup as is described in another JMS resource adapter demo (see references at bottom of this reply) but I thought that doing it once was enough. Well, it seems that you have to execute those commands each time you start MQ!
    I executed them (again), as you kindly suggested in your last response and voila, it worked!... well sort of.
    After starting the clients, I get the following random error in oc4j:
    06/07/21 15:39:18 Got message: PING
    06/07/21 15:39:18 randomly testing rollback:
    06/07/21 15:39:18 sending a junk message
    06/07/21 15:39:18 Sent message: Invalid junk message
    06/07/21 15:39:18 marking transaction for rollback
    06/07/21 15:39:18 sending a junk message
    06/07/21 15:39:18 Sent message: Invalid junk message
    2006-07-21 15:39:18.921 WARNING J2EE JTA0107 Error in resource driver during rol
    lback: javax.transaction.xa.XAException: XA operation failed, see errorCode
    2006-07-21 15:39:18.921 WARNING J2EE JTA0104 Failed to add the resource due to e
    rror in the resource : javax.transaction.xa.XAException: Attempt to start transa
    ction while transaction Xid( Global Id c0.a7.ff.20.b0.22.00.00.0c.00.00.00.00.00
    .00.00.00.00.00.00.00.00.00.00, Format Id 4660, Branch Id 7d.20.c6.d9.00.00.00.0
    0.00.00.00.00.00.00.00.00) is active. errorcode : -6 : Enlistment of resource fa
    iled. Attempt to start transaction while transaction Xid( Global Id c0.a7.ff.20.
    b0.22.00.00.0c.00.00.00.00.00.00.00.00.00.00.00.00.00.00.00, Format Id 4660, Bra
    nch Id 7d.20.c6.d9.00.00.00.00.00.00.00.00.00.00.00.00) is active.
    followed, after a few seconds, by the following stack trace:
    06/07/21 16:13:30 Got message: PING
    06/07/21 16:13:30 MQJMS3011: Failed to publish message to MQ queue
    06/07/21 16:13:30 javax.jms.JMSException: MQJMS3011: Failed to publish message t
    o MQ queue
    06/07/21 16:13:30 at com.ibm.mq.jms.services.ConfigEnvironment.newExceptio
    n(ConfigEnvironment.java:553)
    06/07/21 16:13:30 at com.ibm.mq.jms.MQMessageProducer.publish(MQMessagePro
    ducer.java:1855)
    06/07/21 16:13:30 at com.ibm.mq.jms.MQMessageProducer.send(MQMessageProduc
    er.java:976)
    06/07/21 16:13:30 at com.ibm.mq.jms.MQMessageProducer.send(MQMessageProduc
    er.java:1056)
    06/07/21 16:13:30 at oracle.j2ee.ra.jms.generic.CommonProducerWrapper.send
    (CommonProducerWrapper.java:121)
    06/07/21 16:13:30 at MyChannel.send(MyChannel.java:73)
    06/07/21 16:13:30 at Dealer.onMessage(Dealer.java:210)
    06/07/21 16:13:30 at sun.reflect.NativeMethodAccessorImpl.invoke0(Native M
    ethod)
    06/07/21 16:13:30 at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMet
    hodAccessorImpl.java:39)
    06/07/21 16:13:30 at sun.reflect.DelegatingMethodAccessorImpl.invoke(Deleg
    atingMethodAccessorImpl.java:25)
    06/07/21 16:13:30 at java.lang.reflect.Method.invoke(Method.java:585)
    06/07/21 16:13:30 at com.evermind.server.ejb.interceptor.joinpoint.EJBJoin
    PointImpl.invoke(EJBJoinPointImpl.java:35)
    06/07/21 16:13:30 at com.evermind.server.ejb.interceptor.InvocationContext
    Impl.proceed(InvocationContextImpl.java:69)
    06/07/21 16:13:30 at com.evermind.server.ejb.interceptor.system.DMSInterce
    ptor.invoke(DMSInterceptor.java:52)
    06/07/21 16:13:30 at com.evermind.server.ejb.interceptor.InvocationContext
    Impl.proceed(InvocationContextImpl.java:69)
    06/07/21 16:13:30 at com.evermind.server.ejb.interceptor.system.SetContext
    ActionInterceptor.invoke(SetContextActionInterceptor.java:34)
    06/07/21 16:13:30 at com.evermind.server.ejb.interceptor.InvocationContext
    Impl.proceed(InvocationContextImpl.java:69)
    06/07/21 16:13:30 at oracle.j2ee.connector.messageinflow.MessageEndpointIm
    pl.invokeMessageInflowCallbacks(MessageEndpointImpl.java:294)
    06/07/21 16:13:30 at MessageListener_MessageEndpoint1.onMessage(MessageLis
    tener_MessageEndpoint1.java:39)
    06/07/21 16:13:30 at oracle.j2ee.ra.jms.generic.WorkConsumer.run(WorkConsu
    mer.java:237)
    06/07/21 16:13:30 at oracle.j2ee.connector.work.WorkWrapper.runTargetWork(
    WorkWrapper.java:242)
    06/07/21 16:13:30 at oracle.j2ee.connector.work.WorkWrapper.doWork(WorkWra
    pper.java:215)
    06/07/21 16:13:30 at oracle.j2ee.connector.work.WorkWrapper.run(WorkWrappe
    r.java:190)
    06/07/21 16:13:30 at EDU.oswego.cs.dl.util.concurrent.PooledExecutor$Worke
    r.run(PooledExecutor.java:814)
    06/07/21 16:13:30 at java.lang.Thread.run(Thread.java:595)
    In the Dealer code, I found a piece of code that randomly generating a junk message and marking the transaction for rollback. If I comment out this code, everything works fine.
    So, even when I managed to make the demo work, the transactional stuff is not working.
    It would be really nice to know what is going on, but I'm tired, its fiday and I'm clueless...
    Now, for the "Unable to load message properties file - mqji(xx).properties", it is still showing up, but as you said, MQ seems to work fine.
    Thank you very much again Jeff for your invaluable and extremely responsive help.
    References:
    I can't seem to find an demo that was very useful for me for setting up MQ in the Oracle site, but the direct links seem to still be working:
    http://www.oracle.com/technology/tech/java/oc4j/1003/how_to/jcajmsmq/doc/readme.html
    http://www.oracle.com/technology/tech/java/oc4j/1003/how_to/jcajmsmq/doc/Install.html
    and the sample code and scripts:
    http://otn.oracle.com/tech/java/oc4j/1003/how_to/jcajmsmq.zip
    Message was edited by:
    pablokrause

  • Error while compiling JMS example - package javax.jms does not exist

    Dear All,
    I am a newbie trying to use JMS. I have downloaded EE 5 SDK and installed (it contains Message Queue 4.1 as well). After the installation and going to some tutorials, I tried to compile the example 'SimpleQueueSender.java' which was downloaded from Sun website.
    Before running the application, I made sure that I have set the classpath, path environment veriables correctly, but still I got the error "package javax.jms does not exist". I have searched internet for help and in all places I found people replying to similar issues. But I was not able to apply the solution as either the folder names or file names specified in the solution is different from what is existing in my system.
    Please help me. Also could anyone help me in telling the pre-requisites to ensure a proper running of java application.
    Thanks in Advance
    Regards,
    San

    I'm not sure exactly what your JavaEE SDK installation contains (there are so many versions) but it will typically contain a Glassfish installation. Under the Glassfish installation, the imq directory contains all the files needed for MessageQueue.
    The javax.jms package contains the JMS API interfaces. These can be found in jms.jar, which is typically in imq/lib. At runtime you will also need imq.jar from the same directory, which contains the implementation of these interfaces for MessageQueue.
    Note that you will need to start a Message Queue server as well. EIther start a Glassfish server (which includes an embedded Message Queue broker), or (simpler) start a standalone Message Queue broker by running imqbrokerd (from the imq/bin directory).
    Nigel

  • PI 7.0 JMS Rcv Adapter: Object not found in lookup of XIJMSService

    Hi all,
    When sending messages to an JMS queue, JNDI setup, in the Message Monitoring we get  the error:
    "MP: Exception caught with cause com.sap.aii.af.ra.ms.api.RecoverableException: Object not found in lookup of XIJMSService.: com.sap.engine.services.jndi.persistent.exceptions.NameNotFoundException: Object not found in lookup of XIJMSService."
    The Error points to the Module Processor. Indeed the 2 default Modules are used:
    - SAP XI JMS Adapter/ConvertMessageToBinary
    - SAP XI JMS Adapter/SendBinarytoXIJMSService
    This second Module contains 'XIJMSService', and according the documentation (http://help.sap.com/saphelp_nw04/Helpdata/EN/4d/a3bc97ff55c742af7faed661635baf/content.htm)
    , it uses a parameter named 'modulePoolAdminLookupName' with the default value: /XIJMSService.
    This is how far we get. Even when we assign a different value to the parameter 'modulePoolAdminLookupName' , the error in the Message Monitoring stays the same.
    Has anyone experience with this issue, or any ideas to investigate or solve this?
    Thanx in advance, Walter.

    Hi all,
    Issue is solved. Apparently the Java-version on our XI-server (1.4.2) could not handle the Vendor's JMS-driver we installed (ActiveMQ 4.1.2.jar) so we tried using the ActiveMQ 4.1.0.jar as the JMS-driver. Now it is OK and message are put on the destination queue.
    Walter.

  • JMS Destination object not found

    Hi everyone,
    I have a weird problem with SunONE Message Queue 3.
    I have a queue and a connection factory defined (using the SunONE Application Server 7 Admin Console) as well as a physical resource.
    I can verify their existance using asadmin....
    asadmin>list-jmsdest -u admin server1
    queue_1 queue {}
    asadmin>list-jms-resources -u admin server1
    jms/newqueue_1
    jms/newQCF_1
    When I attempt to deploy a message driven EJB I get the following error
    SEVERE ( 1484): javax.naming.InvalidNameException: JMS Destination object not found:`jms/newqueue_1`
    This question has already been asked on the App Server board here http://swforum.sun.com/jive/thread.jspa?threadID=15517&tstart=0 (that post is nine months old btw).
    I am posting this here in the hope that someone more familiar with MQ3 may have an idea of how to help us.
    Thanks in advance.

    I have now solved this problem. External JNDI resources are required in the AppServer.
    They can be created with the following commands:
    asadmin>create-jndi-resource jndilookupname jms/newQCF_1 resourcetype javax.jms.QueueConnectionFactory factoryclass com.sun.jndi.fscontext.RefFSContextFactory enabled=true --property java.naming.provider.url=file\:///c\:/java/mqjndi:java.naming.security.authentication=none newQCF_1
    asadmin>create-jndi-resource jndilookupname jms/queue_1 resourcetype javax.jms.Queue factoryclass com.sun.jndi.fscontext.RefFSContextFactory enabled=true --property java.naming.provider.url=file\:///c\:/java/mqjndi newqueue_1
    Both these commands assume that the file system context is being used however the LDAP commands are similar (just more properties).
    This step, which seems vital, is missing from the AppServer documentation (in fact it specifically states that this step is not necessary). The irony is that I found the answer in the IBM MQ documentation!

  • JMS Adapter Configuration (Access JMS Provider Generically)

    Hi Exports,
    How can i configure JMS adapter Using Access JMS Provider Generically, where can we mentioned target server. there is Quename and username and password but there is no target server details field. could you please give me suggetion how to configure this.

    Hi,
    This will help you
    JMS Adapter
    /people/kan.th/blog/2007/02/05/exploring-jms-and-sap-xi-jms-adaper
    http://help.sap.com/saphelp_nw2004s/helpdata/en/cd/d85a9d6fab7d4dbb7ae421f710626c/content.htm
    Sender Jms Adapter
    http://help.sap.com/saphelp_nw2004s/helpdata/en/f4/2d6189f0e27a4894ad517961762db7/content.htm
    Receiver Jms Adapter
    http://help.sap.com/saphelp_nw2004s/helpdata/en/10/b1b4c8575a6e47954ad63438d303e4/content.htm
    Regards
    Agasthuri Doss

  • JMS cluster and happen JMS Queue Exception javax.naming.NameAlreadyBoundExc

    Hi,
    Sorry I not sure how to setup JMS cluster in WLS 10.3.2. We have two manager server in two machine. And will join into one cluster. After configure the JMS module & JMS server. We found it only can work in one server. And will faill in another server. And reply the error message as below :
    Any one can help to tell me why one server success. And other is fail !
    javax.naming.NameAlreadyBoundException: JMS_Queue_misdel_a is already bound; rem
    aining name ''
    at weblogic.jndi.internal.BasicNamingNode.bindHere(BasicNamingNode.java:357)
    at weblogic.jndi.internal.ServerNamingNode.bindHere(ServerNamingNode.java:140)
    at weblogic.jndi.internal.BasicNamingNode.bind(BasicNamingNode.java:317)
    at weblogic.jndi.internal.WLEventContextImpl.bind(WLEventContextImpl.jav
    ==> config for JMS
    <jms-server>
    <name>JMS_Server_cim_a</name>
    <target>ebowls05</target>
    <persistent-store xsi:nil="true"></persistent-store>
    <hosting-temporary-destinations>true</hosting-temporary-destinations>
    <temporary-template-resource xsi:nil="true"></temporary-template-resource>
    <temporary-template-name xsi:nil="true"></temporary-template-name>
    <message-buffer-size>-1</message-buffer-size>
    <expiration-scan-interval>30</expiration-scan-interval>
    </jms-server>
    <jms-server>
    <name>JMS_Server_cim_b</name>
    <target>ebowls06</target>
    <persistent-store xsi:nil="true"></persistent-store>
    <hosting-temporary-destinations>true</hosting-temporary-destinations>
    <temporary-template-resource xsi:nil="true"></temporary-template-resource>
    <temporary-template-name xsi:nil="true"></temporary-template-name>
    <message-buffer-size>-1</message-buffer-size>
    <expiration-scan-interval>30</expiration-scan-interval>
    </jms-server>
    <migratable-target>
    <name>ebowls06 (migratable)</name>
    <notes>This is a system generated default migratable target for a server. Do
    not delete manually.</notes>
    <user-preferred-server>ebowls06</user-preferred-server>
    <cluster>ebouatCluster</cluster>
    </migratable-target>
    <migratable-target>
    <name>ebowls05 (migratable)</name>
    <notes>This is a system generated default migratable target for a server. Do
    not delete manually.</notes>
    <user-preferred-server>ebowls05</user-preferred-server>
    <cluster>ebouatCluster</cluster>
    </migratable-target>
    <jms-system-resource>
    <name>JMS_ConnFactory_cim</name>
    <target>ebouatCluster</target>
    <descriptor-file-name>jms/JMS_ConnFactory_cim/JMS_ConnFactory_cim-jms.xml</d
    escriptor-file-name>
    </jms-system-resource>
    <jms-system-resource>
    <name>JMS_Queue_promis</name>
    <target>ebouatCluster</target>
    <sub-deployment>
    <name>JMS_Queue_promis@JMS_Server_cim_a</name>
    <target>JMS_Server_cim_a</target>
    </sub-deployment>
    <sub-deployment>
    <name>JMS_Queue_promis@JMS_Server_cim_b</name>
    <target>JMS_Server_cim_b</target>
    </sub-deployment>
    <descriptor-file-name>jms/JMS_Queue_promis/JMS_Queue_promis-jms.xml</descrip
    tor-file-name>
    </jms-system-resource>
    <jms-system-resource>
    <name>JMS_Template_cim</name>
    <target>ebouatCluster</target>
    <descriptor-file-name>jms/JMS_Template_cim/JMS_Template_cim-jms.xml</descrip
    tor-file-name>
    </jms-system-resource>
    <jms-system-resource>
    <name>JMS_Queue_misdel_a</name>
    <target>ebouatCluster</target>
    <sub-deployment>
    <name>JMS_Queue_misdel_a@JMS_Server_cim_a</name>
    <target>JMS_Server_cim_a</target>
    </sub-deployment>
    <sub-deployment>
    <name>JMS_Queue_misdel_a@JMS_Server_cim_b</name>
    <target>JMS_Server_cim_b</target>
    </sub-deployment>
    <descriptor-file-name>jms/JMS_Queue_misdel_a/JMS_Queue_misdel_a-jms.xml</des
    criptor-file-name>
    </jms-system-resource>
    <jms-system-resource>
    <name>JMS_Queue_misdel_b</name>
    <target>ebouatCluster</target>
    <sub-deployment>
    <name>JMS_Queue_misdel_b@JMS_Server_cim_a</name>
    <target>JMS_Server_cim_a</target>
    </sub-deployment>
    <sub-deployment>
    <name>JMS_Queue_misdel_b@JMS_Server_cim_b</name>
    <target>JMS_Server_cim_b</target>
    </sub-deployment>
    <descriptor-file-name>jms/JMS_Queue_misdel_b/JMS_Queue_misdel_b-jms.xml</des
    criptor-file-name>
    </jms-system-resource>

    1 - JMS clustering is an advanced concept, and, in most cases, uses "distributed queues". In case you haven't already, I highly recommend reading the JMS chapter of the new book "Professional Oracle WebLogic" as well as the related chapters in the JMS Programmer's Guide in the edocs.
    2 - The basic problem below is that you have two different queues that have matching JNDI names, but are in the same cluster.
    3 - The config snippet supplied below does not include the queue configuration. Queue configuration is embedded within the referenced module files.
    4 - Please ensure that you follow configuration best practices, as per: http://download.oracle.com/docs/cd/E15523_01/web.1111/e13738/best_practice.htm#CACJCGHG

  • JMS Exception: Connection not found

    I get a Connection not found exception when creating a TopicSession to communicate with a remote server. Here's the situation. I have several MDBs listening to one jms topic on Weblogic 6.1. They work properly sending and receiving jms messages from the topic when run within one server.
    However, I have a second Weblogic 6.1 server with the same named jms connection factory and topic as on the first machine with the MDBs deployed. I am trying to send jms messages from a stateless session bean within the first server to the second server's topic to trigger the MDBs deployed on that machine.
    I create a connection using the InitialContext and get the topic but when I try and create the TopicSession, it breaks. Here's the code:
    Properties myEnvironment = new Properties();
    myEnvironment.setProperty(Context.INITIAL_CONTEXT_FACTORY, WEBLOGIC_ICF);
    myEnvironment.setProperty(Context.PROVIDER_URL, "t3://<serverAddress>:7031");
    Context myContext = new InitialContext(myEnvironment);
    TopicConnectionFactory myTCFactory = (TopicConnectionFactory) myContext.lookup(CONNECTION_FACTORY);
    Topic myTopic = (Topic) myContext.lookup(TOPIC_NAME);
    TopicConnection myTopicConnection = myTCFactory.createTopicConnection();
    // Connection is not null but breaks here:
    TopicSession myTopicSession = myTopicConnection.createTopicSession(false, Session.AUTO_ACKNOWLEDGE);
    And here is the error message that results.
    weblogic.jms.common.JMSException: Connection not found
    at weblogic.jms.dispatcher.InvocableManager.invocableFind(InvocableManager.java:121)
    at weblogic.jms.dispatcher.Request.wrappedFiniteStateMachine(Request.java:509)
    at weblogic.jms.dispatcher.DispatcherImpl.dispatchSync(DispatcherImpl.java:272)
    at weblogic.jms.client.JMSConnection.sessionCreate(JMSConnection.java:268)
    at weblogic.jms.client.JMSConnection.createTopicSession(JMSConnection.java:245)
    at com.informore.scenariomanager.util.ScmEventJMSUtil.openTopicConnection(Unknown Source)
    at com.informore.scenariomanager.components.topicdispatcher.ejb.TopicDispatcherEJB.sendTopicMessage(Unknown Source)
    at com.informore.scenariomanager.components.topicdispatcher.ejb.TopicDispatcherEJB.handleMessagesPosted(Unknown Source)
    at com.informore.scenariomanager.components.topicdispatcher.ejb.TopicDispatcherEJB.processJMSMessage(Unknown Source)
    at com.informore.scenariomanager.components.topicdispatcher.ejb.TopicDispatcherEJB_44hyzr_ELOImpl.processJMSMessage(TopicDispatcherEJB_44hyzr_ELOImpl.java:200)
    at com.informore.scenariomanager.components.topicdispatcher.ejb.TopicDispatcherMDB.onMessage(Unknown Source)
    at weblogic.ejb20.internal.MDListener.execute(MDListener.java:254)
    at weblogic.ejb20.internal.MDListener.onMessage(MDListener.java:206)
    at weblogic.jms.client.JMSSession.onMessage(JMSSession.java:1864)
    at weblogic.jms.client.JMSSession.execute(JMSSession.java:1819)
    at weblogic.kernel.ExecuteThread.execute(ExecuteThread.java:139)
    at weblogic.kernel.ExecuteThread.run(ExecuteThread.java:120)
    I've tried using "org.omg.CORBA.ORBInitialHost" and "org.omg.CORBA.ORBInitialPort" to no avail. And, because I will potentially need MDBs running on the current and several other remote servers, I don't want to have to specify only one target machine. Any help or suggestions GREATLY appreciated!
    Thanks.

    Thanks !
    I had the same problem on wls 7.0 and it solved it.
    I tried to send a JMS from server to server and got :
    weblogic.jms.common.JMSException: Connection not found
    at weblogic.jms.dispatcher.InvocableManager.invocableFind(InvocableManager.java:134)
    The problem was that the two servers had the same name !
    Ilan.

  • Jms problem - queue not found

    Hi
    I have a simple bpel process that's supposed to read a message from a queue and put a message back on the same queue using the JmsAdapter. When I deploy the process, the log says that java:comp/resource/ojmstest/Queues/demoQueue can not be found:
    <2006-05-28 18:36:56,751> <INFO> <default.collaxa.cube.activation> <JMSAdapter::Inbound> Created new managed connection for JMS user jmsuser
    <2006-05-28 18:36:57,011> <WARN> <default.collaxa.cube.activation> <JMSAdapter::Inbound> JMSMessageConsumer_init: Retrying connection; attempt #1
    <2006-05-28 18:38:57,785> <WARN> <default.collaxa.cube.activation> <JMSAdapter::Inbound>
    ORABPEL-12135
    ERRJMS_ERR_CR_QUEUE_CONS.
    Error while creating Queue consumer:.
    Please examine the log file to determine the problem.
         at oracle.tip.adapter.jms.JMS.JMSConnection.createConsumer(JMSConnection.java:346)
         at oracle.tip.adapter.jms.JMS.JMSMessageConsumer.createConsumer(JMSMessageConsumer.java:214)
         at oracle.tip.adapter.jms.JMS.JMSMessageConsumer.init(JMSMessageConsumer.java:158)
         at oracle.tip.adapter.jms.inbound.JmsConsumer.init(JmsConsumer.java:115)
         at oracle.tip.adapter.jms.JmsEndpoint.run(JmsEndpoint.java:113)
         at oracle.tip.adapter.fw.jca.work.WorkerJob.go(WorkerJob.java:51)
         at oracle.tip.adapter.fw.common.ThreadPool.run(ThreadPool.java:267)
         at java.lang.Thread.run(Thread.java:534)
    Caused by: oracle.jms.AQjmsException: JMS-190: Queue java:comp/resource/ojmstest/Queues/demoQueue not found
         at oracle.jms.AQjmsError.throwEx(AQjmsError.java:346)
         at oracle.jms.AQjmsSession.createQueue(AQjmsSession.java:1296)
         at oracle.tip.adapter.jms.JMS.JMSDestination.getQueue(JMSDestination.java:83)
         at oracle.tip.adapter.jms.JMS.JMSConnection.createConsumer(JMSConnection.java:330)
         ... 7 more
    In my global application.xml, I have:
    <resource-provider class="oracle.jms.OjmsContext" name="ojmstest">
    <description>OJMS/AQ</description>
    <property name="url" value="jdbc:oracle:thin:@eros.goldi.no:1521:orcl"/>
    <property name="username" value="jmsuser"/>
    <property name="password" value="jmsuser"/>          
    </resource-provider>
    In oc4j-ra.xml, I have:
    <connector-factory location="eis/aqjms/Queue" connector-name="Jms Adapter">
    <config-property name="connectionFactoryLocation" value="java:comp/resource/ojmstest/QueueConnectionFactories/myQCF"/>
    <config-property name="factoryProperties" value=""/>
    <config-property name="acknowledgeMode" value="AUTO_ACKNOWLEDGE"/>
    <config-property name="isTopic" value="false"/>
    <config-property name="isTransacted" value="true"/>
    <config-property name="username" value="jmsuser"/>
    <config-property name="password" value="jmsuser"/>
    </connector-factory>
    I have checked that demoQueue exists in the database.
    Any ideas?
    André

    Hi
    I managed to get it to work now on a different database.
    I probably didn't grant all the necessary rights to my jmsuser.
    Thanks,
    André

Maybe you are looking for