Clustered JMS Topics - internal "broadcast"?

          Hi,
          I have a 2-node cluster in WLS 8.1.
          I vaguely remember this may be an old topic but just wanted to make sure. When
          a message is published to a topic, it appears only one of the nodes gets the message.
          And I believe that's by design. If so, what would be a good mechanism for an internal
          broadcast? That is, something happened on one node and it wants everyone in the
          cluster to know.
          TIA,
          Bill
          

          As jms service is pinned service. That means jms server is pinned to one weblogic
          instance. the messages you send to that topic can only go to that weblogic instance
          where the jms server pinned.
          From my understanding, a distributed topic and load balance can be used if you
          want the messages go to all the iweblogic nstances.
          bin
          "Eric Ma" <[email protected]> wrote:
          >
          >Are you sure only one node gets the message? According to my understanding
          >(have
          >not tried) all nodes get the same messages, which is the desired behavior
          >in your
          >case but a problem for others.
          >
          >Eric Ma
          >
          >"Bill" <[email protected]> wrote:
          >>
          >>Hi,
          >>
          >>I have a 2-node cluster in WLS 8.1.
          >>
          >>I vaguely remember this may be an old topic but just wanted to make
          >sure.
          >>When
          >>a message is published to a topic, it appears only one of the nodes
          >gets
          >>the message.
          >>And I believe that's by design. If so, what would be a good mechanism
          >>for an internal
          >>broadcast? That is, something happened on one node and it wants everyone
          >>in the
          >>cluster to know.
          >>
          >>TIA,
          >>Bill
          >
          

Similar Messages

  • Can JMS topics and queues be clustered in a WLS 7.0 Cluster?

    We are installing a weblogic 7.0 cluster with 1 admin server and 2 managed
              node servers. Two nodes have been clustered. We are at the point where we
              need to configure JMS. Has any one implemented JMS in WLS 7 clustered
              environment? What are the things to watch out when clustering JMS? Can JMS
              topics and queues be clustered?
              TIA for any helpful hints and comments.
              Regards
              

    "Karim Ali" <[email protected]> wrote:
              >> Has any one implemented JMS in WLS 7 clustered
              >> environment?
              I'm currently working on a project with WLS 7 here at work, involving
              the implementation of BEA's JMS Cluster. So far, I really haven't had
              many hiccups.
              "Karim Ali" <[email protected]> wrote:
              >> What are the things to watch out when clustering JMS?
              At least in WLS 7, the biggest thing that stands out is the lack of
              automatic failover. Also, Message Paging -- make sure you configure
              paging high/low thresholds. Or, if you don't wish for it to occur but
              can't stop the server (very common these days with SLAs), set that
              byte/message high threshold to a very large number (correct me if I'm
              wrong, but I believe BEA recommends 2^63 -1).
              "Karim Ali" <[email protected]> wrote:
              >> Can JMS topics and queues be clustered?
              Well, since Topics and Queues are extensions of the
              javax.jms.Destination interface, the answer is: Yes!
              (SIDE NOTE: most people usually refer to them as a [JMS] "destination"
              -- it avoids a lot of conceptual baggage and plus, less typing!)
              You'll probably want to see this section of BEA's e-docs:
              http://edocs.bea.com/wls/docs70/adminguide/jms.html#config_distributed_destinations
              later,
              Brian J. Mitchell
              BEA Systems Administrator
              TRX
              Atlanta, GA
              email: [email protected]
              office: 404-327-7238
              mobile: 678-283-6530
              

  • JMS topic-cache topic is not getting broadcasting in other managed servers

    Hi All,
    Please give me some idea in fixing the issue that im facing.
    I have created the JMS topic in my weblogic console server which has 2 managed servers.
    I have a feature in my application which is kept in a cache that will be used by my JMS topic. If my request hits managed 1 server im able to see the newly created feature.
    But the same feature is not working when i make the request hit managed 2 server.
    It means the JMS topic is not getting broadcasted properly in other managed server. I dont want to go for a server recycle which will resolve the issue.
    Please let me know if im not clear enough.
    Below is the description provided by my partner on the same issue in his words..
    "The JMS Topic - 'CacheTopic' is not broadcasting messages created on one managed server to the remaining managed servers.
    The same problem is observed in Production as well. Let us know if there is anything wrong in the way the JMS Topic is created or any other configuration is missing, that is not allowing the proper functioning of the Topic."
    fyi...i have all my firewall enabled between the managed servers.And multicast property is also declared correctly only.

    Please let me know if im not clear enough.No. Please explain again.
    The JMS Topic - 'CacheTopic' is not broadcasting messages created on one managed server to the remaining managed servers.Is it a distributed topic? Or does it mean a topic message doesnt get delivered to all subscribers?
    ram.

  • Clustering a JMS Topic

    I'm trying to create a distributed JMS topic using the wlconfig ant task (MBean).
    I can create a topic on a single server fine, but I can't figure out how to create a distributed topic that I could access on any server in the cluster.
    This is what I have so far, which seems to run, but I can't lookup the topic under the JNDI name in the server,
    <wlconfig url="t3://${JEE_HOST}:7001/" username="${JEE_USER}" password="${JEE_PASSWORD}">
    <query domain="mydomain" type="Cluster" name="*" property="cluster"/>
    <query domain="mydomain" type="Server" name="server1" property="server1"/>
    <query domain="mydomain" type="Server" name="server2" property="server2"/>
    <query domain="mydomain" type="Server" name="server3" property="server3"/>
    <create type="JMSConnectionFactory" name="EmployeeTopicConnectionFactory">
    <set attribute="JNDIName" value="jms/EmployeeTopicConnectionFactory"/>
    <set attribute="XAServerEnabled" value="false"/>
    <set attribute="Targets" value="${cluster}"/>
    </create>
    <create type="JMSServer" name="EmployeeJMSServer1">
    <set attribute="Targets" value="${server1}"/>
    </create>
    <create type="JMSServer" name="EmployeeJMSServer2">
    <set attribute="Targets" value="${server2}"/>
    </create>
    <create type="JMSServer" name="EmployeeJMSServer3">
    <set attribute="Targets" value="${server3}"/>
    </create>
    <create type="JMSDistributedTopic" name="EmployeeTopic">
    <set attribute="JNDIName" value="jms/EmployeeTopic"/>
    <set attribute="LoadBalancingPolicy" value="Random"/>
    <set attribute="Targets" value="${cluster}"/>
    </create>
    </wlconfig>
    This produces the following in the config.xml
    <jms-server>
    <name>EmployeeJMSServer1</name>
    <target>server1</target>
    </jms-server>
    <jms-server>
    <name>EmployeeJMSServer2</name>
    <target>server2</target>
    </jms-server>
    <jms-server>
    <name>EmployeeJMSServer3</name>
    <target>server3</target>
    </jms-server>
    <migratable-target>
    <name>server1 (migratable)</name>
    <notes>This is a system generated default migratable target for a server. Do not delete manually.</notes>
    <user-preferred-server>server1</user-preferred-server>
    <cluster>employee-cluster</cluster>
    </migratable-target>
    <migratable-target>
    <name>server2 (migratable)</name>
    <notes>This is a system generated default migratable target for a server. Do not delete manually.</notes>
    <user-preferred-server>server2</user-preferred-server>
    <cluster>employee-cluster</cluster>
    </migratable-target>
    <migratable-target>
    <name>server3 (migratable)</name>
    <notes>This is a system generated default migratable target for a server. Do not delete manually.</notes>
    <user-preferred-server>server3</user-preferred-server>
    <cluster>employee-cluster</cluster>
    </migratable-target>
    <jms-interop-module>
    <name>interop-jms</name>
    <sub-deployment>
    <name>EmployeeTopicConnectionFactory</name>
    <target>employee-cluster</target>
    </sub-deployment>
    <sub-deployment>
    <name>EmployeeTopic</name>
    <target>employee-cluster</target>
    </sub-deployment>
    <descriptor-file-name>jms/interop-jms.xml</descriptor-file-name>
    </jms-interop-module>
    and the jms interop xml
    <connection-factory name="EmployeeTopicConnectionFactory">
    <jndi-name>jms/EmployeeTopicConnectionFactory</jndi-name>
    <transaction-params>
    <xa-connection-factory-enabled>false</xa-connection-factory-enabled>
    </transaction-params>
    </connection-factory>
    <distributed-topic name="EmployeeTopic">
    <jndi-name>jms/EmployeeTopic</jndi-name>
    <load-balancing-policy>Random</load-balancing-policy>
    </distributed-topic>

    You might want to post this to the JMS forum:
    http://forum.java.sun.com/forum.jspa?forumID=29

  • Tom !!! Help needed in JMS Topic Lookup Cluster DOMAIN

    Hi Tom,
              We have a clustered domain with 2 managed servers and our application is an Applet-Servlet based application.We user JMS Topic for some of online blotters.
              And on looking up we get the following error,
              weblogic.jms.common.JMSException: <055053> <java.rmi.RemoteException: CORBA INTERNAL 1398079712 Maybe; nested exception is: org.omg.CORBA.INTERNAL: vmcid: SUN minor code: 224 completed: Maybe >      
              weblogic.jms.client.JMSConnectionFactory.setupJMSConnection(JMSConnectionFactory.java:272)at weblogic.jms.client.JMSConnectionFactory.createConnectionInternal(JMSConnectionFactory.java:299)at weblogic.jms.client.JMSConnectionFactory.createTopicConnection(JMSConnectionFactory.java:198)at
              Pls note while looking up for the Initial context since it is a cluster environment, we look up using comma separated Ipaddresses.
              Pls note, we use JRE 1.4.2_13 for the applet to launch,.
              Earlier also for JMS failover i sought your help and your suggestions have really invaluable.
              Request you to provide me some more suggestions on this issue as well.
              Regards
              Suresh

    The exception is thrown by the JVM's built in Sun IIOP (CORBA) libraries. I don't know the cause, but a google search for "SUN minor code: 224 completed: Maybe" yields a single hit that might help. See the July 23/24 posts for "Re: iiop: error with bidirectional connections" in the weblogic rmi-iiop newsgroup:
              http://forums.bea.com/thread.jspa?threadID=300001651
              Tom

  • Error :- while accessing JMS topic messages in Design Studio

    Hi,
    Am getting this error while clicking update button in Design Studio to populate a dataobject using JMS Topic messages sent by oracle Bpel manager.
    IMessageSourceReceiver->messageReceive: javax.naming.NoInitialContextException: Cannot instantiate class: oracle.j2ee.rmi.RMIInitialContextFactory. Root exception is java.lang.ClassNotFoundException: oracle.j2ee.rmi.RMIInitialContextFactory
    Can you tell me where to find the class and how to use it to resolve the problem?
    P.S:-
    If you can provide any document how oracle BPEL process manager use JMS topic to send message to Oracle BAM and display in reports.
    Thanks in advance
    Cheers,
    Praveen G
    iSOFT R& D Pvt Ltd.
    [email protected]

    Hi,
    We are using BAM 10.1.3 against BPEL 10.1.2 and we cannot get it to work.
    We are also getting the error "javax.naming.NoInitialContextException: Cannot instantiate class: oracle.j2ee.rmi.RMIInitialContextFactory...." .
    Our startup paramters for Enterprise Source “Oracle (AS JMS and OJMS) looks like this:
    JMS*".;C:\OracleBAM\OC4J\j2ee\home\lib\jms.jar;C:\OracleBAM\OC4J\j2ee\home\lib\jndi.jar;C:\OracleBAM\OC4J\j2ee\home\oc4j.jar;C:\OracleBAM\OC4J\j2ee\home\oc4jclient.jar;C:\OracleBAM\OC4J\j2ee\home\lib\oc4j-internal.jar;C:\OracleBAM\OC4J\j2ee\home\lib\ejb.jar;C:\OracleBAM\OC4J\j2ee\home\lib\servlet.jar;C:\OracleBAM\OC4J\j2ee\home\lib\jta.jar;C:\OracleBAM\OC4J\j2ee\home\lib\jms.jar;C:\OracleBAM\OC4J\j2ee\home\lib\javax88.jar;C:\OracleBAM\OC4J\j2ee\home\lib\javax77.jar;C:\OracleBAM\OC4J\j2ee\home\lib\jmxri.jar;C:\OracleBAM\OC4J\j2ee\home\lib\jmx_remote_api.jar;C:\OracleBAM\OC4J\j2ee\home\lib\adminclient.jar;C:\OracleBAM\OC4J\j2ee\home\ojspc.jar;C:\OracleBAM\OC4J\j2ee\home\jazn.jar;C:\OracleBAM\OC4J\opmn\lib\optic.jar;C:\OracleBAM\OC4J\rdbms\jlib\aqapi.jar;"".;c:\TIBCO\JMS\clients\java\tibjms.jar;c:\TIBCO\JMS\clients\java\jms.jar;c:\TIBCO\JMS\clients\java\jndi.jar;c:\TIBCO\JMS\clients\java\jta-spec1_0_1.jar;c:\TIBCO\JMS\clients\java\jcert.jar;c:\TIBCO\JMS\clients\java\jnet.jar;c:\TIBCO\JMS\clients\java\jsse.jar;c:\TIBCO\JMS\clients\java\tibcrypt.jar;"".;C:\Program Files\IBM\WebSphere MQ\Java\lib\com.ibm.mq.jar;C:\Program Files\IBM\WebSphere MQ\Java\lib\com.ibm.mqjms.jar;C:\Program Files\IBM\WebSphere MQ\Java\lib\connector.jar;C:\Program Files\IBM\WebSphere MQ\Java\lib\jms.jar;C:\Program Files\IBM\WebSphere MQ\Java\lib\jndi.jar;C:\Program Files\IBM\WebSphere MQ\Java\lib\jta.jar;C:\Program Files\IBM\WebSphere MQ\Java\lib\providerutil.jar;C:\Program Files\IBM\WebSphere MQ\Java\lib\fscontext.jar;C:\Program Files\IBM\WebSphere MQ\Java\lib\ldap.jar;"".;C:\Program Files\SonicSoftware\SonicMQ\lib\sonic_Client.jar;C:\Program Files\SonicSoftware\SonicMQ\lib\gnu-regexp-1.0.6.jar;C:\Program Files\SonicSoftware\SonicMQ\lib\jaxp.jar;C:\Program Files\SonicSoftware\SonicMQ\lib\xerces.jar;C:\Program Files\SonicSoftware\SonicMQ\lib\tools.jar;C:\Program Files\SonicSoftware\SonicMQ\lib\providerutil.jar;C:\Program Files\SonicSoftware\SonicMQ\lib\fscontext.jar;C:\Program Files\SonicSoftware\SonicMQ\lib\sslj.jar;C:\Program Files\SonicSoftware\SonicMQ\lib\jsafe.jar;C:\Program Files\SonicSoftware\SonicMQ\lib\certj.jar;"".;C:\bea\weblogic700\server\lib\weblogic.jar;"".;C:\eGate\client\classes\stcjms.jar;C:\eGate\client\JRE\1.3\lib\ext\fscontext.jar;C:\eGate\client\JRE\1.3\lib\ext\providerutil.jar;C:\eGate\client\ThirdParty\sun\jms.jar;C:\eGate\client\ThirdParty\sun\jndi.jar;C:\eGate\client\ThirdParty\sun\jta.jar;"".;C:\JNDI-Directory_WebMethods\fscontext.jar;C:\JNDI-Directory_WebMethods\providerutil.jar;C:\JNDI-Directory_WebMethods\javax.jms.jar;C:\Program Files\webMethods6\Broker\lib\BrokerJMS60.jar;C:\Program Files\webMethods6\common\lib\client60.jar;C:\Program Files\webMethods6\Broker\lib\xerces.jar;"
    We are trying to get to our oc4j container on our BPEL server. We have the following settings on our created message sourcein BAM architect:
    Initial Context Factory: oracle.j2ee.rmi.RMIInitialContextFactory
    JNDI Service Provider URL: opmn:ormi://hostname:6003:OC4J_BPEL
    TopicConnectionFactory Name: java:comp/resource/ojms_ipl/TopicConnectionFactories/iplerror
    Topic Name: java:comp/resource/ojms_ipl/Topics/iplerror
    ojms_ipl refers to the datasource on our BPEL server that is defined in application.xml.
    Where is the class located?
    Best regards

  • Error in Applet reading a JMS topic

    I have an applet trying to read a JMS topic. It connects fine, but as
              soon as a message is written into the topic (that the applet is
              subscribed to), I get the following error on the server:
              <Apr 26, 2002 2:46:39 PM PDT> <Error> <RJVM> <Unsolicited error
              response for: '-1'>
              The applet shows the following stacktrace:
              <Apr 26, 2002 2:40:26 PM PDT> <Warning> <Dispatcher> <Error thrown by
              rmi server: 'weblogic.rmi.internal.BasicServerRef@101 - jvmid:
              '-8904810875822286436C:127.0.0.1R:1187444208533444527S:192.103.129.38:[7001,7001,7002,7002,7001,7002,-1]:mydomain:myserver',
              oid: '257', implementation:
              'weblogic.jms.dispatcher.DispatcherImpl@2c3327''
              weblogic.utils.AssertionError: ***** ASSERTION FAILED *****[ Could not
              generate the Skeleton on the server for:
              weblogic.jms.dispatcher.DispatcherImpl_WLSkel ]
                   at weblogic.rmi.internal.BasicRuntimeDescriptor.getSkeletonClass(BasicRuntimeDescriptor.java:296)
                   at weblogic.rmi.internal.BasicRuntimeDescriptor.getSkeleton(BasicRuntimeDescriptor.java:309)
                   at weblogic.rmi.internal.BasicServerRef.invoke(BasicServerRef.java:288)
                   at weblogic.rmi.internal.BasicServerRef.handleRequest(BasicServerRef.java:267)
                   at weblogic.rmi.internal.BasicExecuteRequest.execute(BasicExecuteRequest.java:22)
                   at weblogic.kernel.ExecuteThread.execute(ExecuteThread.java:139)
                   at weblogic.kernel.ExecuteThread.run(ExecuteThread.java:120)
              >
              <Apr 26, 2002 2:40:39 PM PDT> <Warning> <Dispatcher> <Error thrown by
              rmi server: 'weblogic.rmi.internal.BasicServerRef@2 - jvmid:
              '-8904810875822286436C:127.0.0.1R:1187444208533444527S:192.103.129.38:[7001,7001,7002,7002,7001,7002,-1]:mydomain:myserver',
              oid: '2', implementation:
              'weblogic.rmi.internal.dgc.DGCServerImpl@4d7745''
              weblogic.utils.AssertionError: ***** ASSERTION FAILED *****[ Could not
              generate the Skeleton on the server for:
              weblogic.rmi.internal.dgc.DGCServerImpl_WLSkel ]
                   at weblogic.rmi.internal.BasicRuntimeDescriptor.getSkeletonClass(BasicRuntimeDescriptor.java:296)
                   at weblogic.rmi.internal.BasicRuntimeDescriptor.getSkeleton(BasicRuntimeDescriptor.java:309)
                   at weblogic.rmi.internal.BasicServerRef.invoke(BasicServerRef.java:288)
                   at weblogic.rmi.internal.BasicServerRef.handleRequest(BasicServerRef.java:267)
                   at weblogic.rmi.internal.BasicExecuteRequest.execute(BasicExecuteRequest.java:22)
                   at weblogic.kernel.ExecuteThread.execute(ExecuteThread.java:139)
                   at weblogic.kernel.Kernel.execute(Kernel.java:235)
                   at weblogic.rmi.internal.BasicServerRef.dispatch(BasicServerRef.java:169)
                   at weblogic.rmi.internal.BasicServerRef.invoke(BasicServerRef.java:195)
                   at weblogic.rjvm.RJVMImpl.dispatchRequest(RJVMImpl.java:642)
                   at weblogic.rjvm.RJVMImpl.dispatch(RJVMImpl.java:589)
                   at weblogic.rjvm.ConnectionManagerClient.handleRJVM(ConnectionManagerClient.java:42)
                   at weblogic.rjvm.ConnectionManager.dispatch(ConnectionManager.java:637)
                   at weblogic.rjvm.t3.T3JVMConnection.dispatch(T3JVMConnection.java:454)
                   at weblogic.socket.JavaSocketMuxer.processSockets2(JavaSocketMuxer.java:319)
                   at weblogic.socket.JavaSocketMuxer.processSockets(JavaSocketMuxer.java:233)
                   at weblogic.socket.SocketReaderRequest.execute(SocketReaderRequest.java:24)
                   at weblogic.kernel.ExecuteThread.execute(ExecuteThread.java:139)
                   at weblogic.kernel.ExecuteThread.run(ExecuteThread.java:120)
              >
              <Apr 26, 2002 2:41:39 PM PDT> <Warning> <Dispatcher> <Error thrown by
              rmi server: 'weblogic.rmi.internal.BasicServerRef@2 - jvmid:
              '-8904810875822286436C:127.0.0.1R:1187444208533444527S:192.103.129.38:[7001,7001,7002,7002,7001,7002,-1]:mydomain:myserver',
              oid: '2', implementation:
              'weblogic.rmi.internal.dgc.DGCServerImpl@4d7745''
              weblogic.utils.AssertionError: ***** ASSERTION FAILED *****[ Could not
              generate the Skeleton on the server for:
              weblogic.rmi.internal.dgc.DGCServerImpl_WLSkel ]
                   at weblogic.rmi.internal.BasicRuntimeDescriptor.getSkeletonClass(BasicRuntimeDescriptor.java:296)
                   at weblogic.rmi.internal.BasicRuntimeDescriptor.getSkeleton(BasicRuntimeDescriptor.java:309)
                   at weblogic.rmi.internal.BasicServerRef.invoke(BasicServerRef.java:288)
                   at weblogic.rmi.internal.BasicServerRef.handleRequest(BasicServerRef.java:267)
                   at weblogic.rmi.internal.BasicExecuteRequest.execute(BasicExecuteRequest.java:22)
                   at weblogic.kernel.ExecuteThread.execute(ExecuteThread.java:139)
                   at weblogic.kernel.Kernel.execute(Kernel.java:235)
                   at weblogic.rmi.internal.BasicServerRef.dispatch(BasicServerRef.java:169)
                   at weblogic.rmi.internal.BasicServerRef.invoke(BasicServerRef.java:195)
                   at weblogic.rjvm.RJVMImpl.dispatchRequest(RJVMImpl.java:642)
                   at weblogic.rjvm.RJVMImpl.dispatch(RJVMImpl.java:589)
                   at weblogic.rjvm.ConnectionManagerClient.handleRJVM(ConnectionManagerClient.java:42)
                   at weblogic.rjvm.ConnectionManager.dispatch(ConnectionManager.java:637)
                   at weblogic.rjvm.t3.T3JVMConnection.dispatch(T3JVMConnection.java:454)
                   at weblogic.socket.JavaSocketMuxer.processSockets2(JavaSocketMuxer.java:319)
                   at weblogic.socket.JavaSocketMuxer.processSockets(JavaSocketMuxer.java:233)
                   at weblogic.socket.SocketReaderRequest.execute(SocketReaderRequest.java:24)
                   at weblogic.kernel.ExecuteThread.execute(ExecuteThread.java:139)
                   at weblogic.kernel.ExecuteThread.run(ExecuteThread.java:120)
              >
              Thanks in advance for suggestions/help.
              Raj
              

    Is it with 7.0 GA or beta?
              Do you know whether the classpath servlet is open or not?
              Can you run this url from a browser and update this issue please.
              http://host:port/bea_wls_internal/classes/weblogic/jms/dispatcher/Dispatcher
              Impl_WLSkel.class
              You should get a downloaded file to be saved. Otherwise your server need to
              open the classpathservlet.
              use -Dweblogic.servlet.ClasspathServlet.disableStrictCheck=true to open the
              classpath servlet.
              Attach the applet code, so that it will help us to nail down the issue.
              Cheers,
              ..maruthi
              "theist" <[email protected]> wrote in message
              news:[email protected]...
              > I have an applet trying to read a JMS topic. It connects fine, but as
              > soon as a message is written into the topic (that the applet is
              > subscribed to), I get the following error on the server:
              >
              > <Apr 26, 2002 2:46:39 PM PDT> <Error> <RJVM> <Unsolicited error
              > response for: '-1'>
              >
              >
              > The applet shows the following stacktrace:
              >
              > <Apr 26, 2002 2:40:26 PM PDT> <Warning> <Dispatcher> <Error thrown by
              > rmi server: 'weblogic.rmi.internal.BasicServerRef@101 - jvmid:
              >
              '-8904810875822286436C:127.0.0.1R:1187444208533444527S:192.103.129.38:[7001,
              7001,7002,7002,7001,7002,-1]:mydomain:myserver',
              > oid: '257', implementation:
              > 'weblogic.jms.dispatcher.DispatcherImpl@2c3327''
              > weblogic.utils.AssertionError: ***** ASSERTION FAILED *****[ Could not
              > generate the Skeleton on the server for:
              > weblogic.jms.dispatcher.DispatcherImpl_WLSkel ]
              > at
              weblogic.rmi.internal.BasicRuntimeDescriptor.getSkeletonClass(BasicRuntimeDe
              scriptor.java:296)
              > at
              weblogic.rmi.internal.BasicRuntimeDescriptor.getSkeleton(BasicRuntimeDescrip
              tor.java:309)
              > at weblogic.rmi.internal.BasicServerRef.invoke(BasicServerRef.java:288)
              > at
              weblogic.rmi.internal.BasicServerRef.handleRequest(BasicServerRef.java:267)
              > at
              weblogic.rmi.internal.BasicExecuteRequest.execute(BasicExecuteRequest.java:2
              2)
              > at weblogic.kernel.ExecuteThread.execute(ExecuteThread.java:139)
              > at weblogic.kernel.ExecuteThread.run(ExecuteThread.java:120)
              > >
              > <Apr 26, 2002 2:40:39 PM PDT> <Warning> <Dispatcher> <Error thrown by
              > rmi server: 'weblogic.rmi.internal.BasicServerRef@2 - jvmid:
              >
              '-8904810875822286436C:127.0.0.1R:1187444208533444527S:192.103.129.38:[7001,
              7001,7002,7002,7001,7002,-1]:mydomain:myserver',
              > oid: '2', implementation:
              > 'weblogic.rmi.internal.dgc.DGCServerImpl@4d7745''
              > weblogic.utils.AssertionError: ***** ASSERTION FAILED *****[ Could not
              > generate the Skeleton on the server for:
              > weblogic.rmi.internal.dgc.DGCServerImpl_WLSkel ]
              > at
              weblogic.rmi.internal.BasicRuntimeDescriptor.getSkeletonClass(BasicRuntimeDe
              scriptor.java:296)
              > at
              weblogic.rmi.internal.BasicRuntimeDescriptor.getSkeleton(BasicRuntimeDescrip
              tor.java:309)
              > at weblogic.rmi.internal.BasicServerRef.invoke(BasicServerRef.java:288)
              > at
              weblogic.rmi.internal.BasicServerRef.handleRequest(BasicServerRef.java:267)
              > at
              weblogic.rmi.internal.BasicExecuteRequest.execute(BasicExecuteRequest.java:2
              2)
              > at weblogic.kernel.ExecuteThread.execute(ExecuteThread.java:139)
              > at weblogic.kernel.Kernel.execute(Kernel.java:235)
              > at weblogic.rmi.internal.BasicServerRef.dispatch(BasicServerRef.java:169)
              > at weblogic.rmi.internal.BasicServerRef.invoke(BasicServerRef.java:195)
              > at weblogic.rjvm.RJVMImpl.dispatchRequest(RJVMImpl.java:642)
              > at weblogic.rjvm.RJVMImpl.dispatch(RJVMImpl.java:589)
              > at
              weblogic.rjvm.ConnectionManagerClient.handleRJVM(ConnectionManagerClient.jav
              a:42)
              > at weblogic.rjvm.ConnectionManager.dispatch(ConnectionManager.java:637)
              > at weblogic.rjvm.t3.T3JVMConnection.dispatch(T3JVMConnection.java:454)
              > at
              weblogic.socket.JavaSocketMuxer.processSockets2(JavaSocketMuxer.java:319)
              > at
              weblogic.socket.JavaSocketMuxer.processSockets(JavaSocketMuxer.java:233)
              > at
              weblogic.socket.SocketReaderRequest.execute(SocketReaderRequest.java:24)
              > at weblogic.kernel.ExecuteThread.execute(ExecuteThread.java:139)
              > at weblogic.kernel.ExecuteThread.run(ExecuteThread.java:120)
              > >
              > <Apr 26, 2002 2:41:39 PM PDT> <Warning> <Dispatcher> <Error thrown by
              > rmi server: 'weblogic.rmi.internal.BasicServerRef@2 - jvmid:
              >
              '-8904810875822286436C:127.0.0.1R:1187444208533444527S:192.103.129.38:[7001,
              7001,7002,7002,7001,7002,-1]:mydomain:myserver',
              > oid: '2', implementation:
              > 'weblogic.rmi.internal.dgc.DGCServerImpl@4d7745''
              > weblogic.utils.AssertionError: ***** ASSERTION FAILED *****[ Could not
              > generate the Skeleton on the server for:
              > weblogic.rmi.internal.dgc.DGCServerImpl_WLSkel ]
              > at
              weblogic.rmi.internal.BasicRuntimeDescriptor.getSkeletonClass(BasicRuntimeDe
              scriptor.java:296)
              > at
              weblogic.rmi.internal.BasicRuntimeDescriptor.getSkeleton(BasicRuntimeDescrip
              tor.java:309)
              > at weblogic.rmi.internal.BasicServerRef.invoke(BasicServerRef.java:288)
              > at
              weblogic.rmi.internal.BasicServerRef.handleRequest(BasicServerRef.java:267)
              > at
              weblogic.rmi.internal.BasicExecuteRequest.execute(BasicExecuteRequest.java:2
              2)
              > at weblogic.kernel.ExecuteThread.execute(ExecuteThread.java:139)
              > at weblogic.kernel.Kernel.execute(Kernel.java:235)
              > at weblogic.rmi.internal.BasicServerRef.dispatch(BasicServerRef.java:169)
              > at weblogic.rmi.internal.BasicServerRef.invoke(BasicServerRef.java:195)
              > at weblogic.rjvm.RJVMImpl.dispatchRequest(RJVMImpl.java:642)
              > at weblogic.rjvm.RJVMImpl.dispatch(RJVMImpl.java:589)
              > at
              weblogic.rjvm.ConnectionManagerClient.handleRJVM(ConnectionManagerClient.jav
              a:42)
              > at weblogic.rjvm.ConnectionManager.dispatch(ConnectionManager.java:637)
              > at weblogic.rjvm.t3.T3JVMConnection.dispatch(T3JVMConnection.java:454)
              > at
              weblogic.socket.JavaSocketMuxer.processSockets2(JavaSocketMuxer.java:319)
              > at
              weblogic.socket.JavaSocketMuxer.processSockets(JavaSocketMuxer.java:233)
              > at
              weblogic.socket.SocketReaderRequest.execute(SocketReaderRequest.java:24)
              > at weblogic.kernel.ExecuteThread.execute(ExecuteThread.java:139)
              > at weblogic.kernel.ExecuteThread.run(ExecuteThread.java:120)
              > >
              >
              >
              > Thanks in advance for suggestions/help.
              > Raj
              

  • JMS Topic Load Balancing on Cluster

    Folks
    How do we load balance JMS Topic on a cluster.
    We have a 2 App Server configuration to a single cluster.
    If we have Topic A on both OC4J instances 1,2 - and we send a message to 1 - only clients connected to 1 get the message.
    What do we need to do to setup JMS clustering so that the messages sent to Topic A can be handled by both OC4J instances.

    Hi Ravi,
    Check this forum:
    /thread/24959 [original link is broken]
    Load Balancing for J2EE Web Applications
    http://help.sap.com/saphelp_nw04/helpdata/en/ce/4522d557b26942b202e05ff9ee1f3a/frameset.htm
    SAP Web Dispatcher - Load balancing EP6.0 SP2
    /thread/19304 [original link is broken]
    Reward points if this helps
    Regards
    Pragathi.

  • OSB 11g - poll JMS topic on OAS 10.1.2

    Hi everybody,
    We are going to create OSB 11g proxy service that will poll JMS topic located on Oracle Application Server 10.1.2. I think that the first step is to set up foreign JMS server, connection factory and destinations in the Weblogic server, am I right?
    I've never set up that before and l looking for any guides on how to set up OAS 10.1.2 topic as foreign destination in Weblogic 10.3.3.
    Any help will be appreciated
    Best regards,
    Dmitry

    Ok, finally I found this guide http://www.oracle.com/technetwork/middleware/bam/technote-bam-connectingoc4jjms-129297.pdf and set up foreign JMS server, connection factory and topic. These foreign JMS objects are included in weblogic JNDI tree, and I could successfully deploy OSB Proxy Service that is intended to poll foreign JMS topic. The following error appeared in the weblogic server log file after deployment:
    <Aug 24, 2010 1:21:44 PM MSD> <Warning> <EJB> <BEA-010061> <The Message-Driven EJB: RequestEJB-4249293316140669267--703a
    3e3e.12aa2c85115.-7fcd is unable to connect to the JMS destination: jms.oc4jUDC_IDENTITY_TOPIC. The Error was:
    [EJB:011014]The Message-Driven EJB failed while creating a JMS Connection. The error was:
    javax.jms.JMSException: Unable to create a connection to "/0.0.0.0:12,601" as user "null".
    Linked exception: java.net.ConnectException: Connection refused.
    javax.jms.JMSException: Unable to create a connection to "/0.0.0.0:12,601" as user "null".
    at com.evermind.server.jms.JMSUtils.makeJMSException(JMSUtils.java:1898)
    at com.evermind.server.jms.JMSUtils.toJMSException(JMSUtils.java:1914)
    at com.evermind.server.jms.EvermindConnection.<init>(EvermindConnection.java:114)
    at com.evermind.server.jms.EvermindTopicConnection.<init>(EvermindTopicConnection.java:63)
    at com.evermind.server.jms.EvermindTopicConnectionFactory.createTopicConnection(EvermindTopicConnectionFactory.java:91)
    at com.evermind.server.jms.EvermindTopicConnectionFactory.createTopicConnection(EvermindTopicConnectionFactory.java:83)
    at weblogic.ejb.container.internal.JMSConnectionPoller.getConnection(JMSConnectionPoller.java:503)
    at weblogic.ejb.container.internal.JMSConnectionPoller.createJMSConnection(JMSConnectionPoller.java:1969)
    12601 is JMS port of remote OC4J instance, I can connect to this port from weblogic server though telnet.
    I do not know why 0.0.0.0 is printed as IP address, and why user is "null" ..
    Any ideas on that?

  • JMS Topic Write throws JMSClientException:055143: Destinati must be a queue

    Hi,
    1) created JMS Server
    2) created JMS module
    3) Created JMS Topic, created Subdeployment and associated queue to the subdeployment
    4) Created JMS Queue and associated Queue to the subdeployment
    5) created connection factory and associated connection factory to the subdeployment
    6) Created JMS Adapter connection pool.
    7) Associated JMS Adapter connection pool and connection factory.
    8) Redeployed JMS Adapter.
    In my BPEL process i consumed JMS Adapter as a partner link.
    If I try to write in JMS queue created above, BPEL process works fine.
    But if I try to write in JMS Topic, i am getting following exception
    Any solution for the following.
    ===============================================================
    ERRJMS_ERR_CR_QUEUE_PROD.
    ERRJMS_ERR_CR_QUEUE_PROD.
    Unable to create Queue producer due to JMSException.
    Please examine the log file to determine the problem.
         at oracle.tip.adapter.jms.JMS.JMSConnection.createProducer(JMSConnection.java:711)
         at oracle.tip.adapter.jms.JMS.JMSConnection.createProducer(JMSConnection.java:642)
         at oracle.tip.adapter.jms.JMS.JMSMessageProducer.produce(JMSMessageProducer.java:180)
         at oracle.tip.adapter.jms.outbound.JmsProducer.execute(JmsProducer.java:337)
         at oracle.tip.adapter.jms.WLSJmsInvoker.invoke(WLSJmsInvoker.java:109)
         at oracle.tip.adapter.jms.JmsInteraction.executeProduce(JmsInteraction.java:166)
         at oracle.tip.adapter.jms.JmsInteraction.execute(JmsInteraction.java:140)
         at oracle.integration.platform.blocks.adapter.fw.jca.cci.JCAInteractionInvoker.executeJcaInteraction(JCAInteractionInvoker.java:311)
         at oracle.integration.platform.blocks.adapter.fw.jca.cci.JCAInteractionInvoker.invokeJcaReference(JCAInteractionInvoker.java:548)
         at oracle.integration.platform.blocks.adapter.fw.jca.cci.JCAInteractionInvoker.invokeAsyncJcaReference(JCAInteractionInvoker.java:508)
         at oracle.integration.platform.blocks.adapter.fw.jca.cci.JCAEndpointInteraction.performAsynchronousInteraction(JCAEndpointInteraction.java:491)
         at oracle.integration.platform.blocks.adapter.AdapterReference.post(AdapterReference.java:247)
         at oracle.integration.platform.blocks.mesh.AsynchronousMessageHandler.doPost(AsynchronousMessageHandler.java:142)
         at oracle.integration.platform.blocks.mesh.MessageRouter.post(MessageRouter.java:197)
         at oracle.integration.platform.blocks.mesh.MeshImpl.post(MeshImpl.java:214)
         at sun.reflect.GeneratedMethodAccessor937.invoke(Unknown Source)
         at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:25)
         at java.lang.reflect.Method.invoke(Method.java:597)
         at org.springframework.aop.support.AopUtils.invokeJoinpointUsingReflection(AopUtils.java:307)
         at org.springframework.aop.framework.ReflectiveMethodInvocation.invokeJoinpoint(ReflectiveMethodInvocation.java:182)
         at org.springframework.aop.framework.ReflectiveMethodInvocation.proceed(ReflectiveMethodInvocation.java:149)
         at oracle.integration.platform.metrics.PhaseEventAspect.invoke(PhaseEventAspect.java:71)
         at org.springframework.aop.framework.ReflectiveMethodInvocation.proceed(ReflectiveMethodInvocation.java:171)
         at org.springframework.aop.framework.JdkDynamicAopProxy.invoke(JdkDynamicAopProxy.java:204)
         at $Proxy293.post(Unknown Source)
         at oracle.fabric.CubeServiceEngine.postToMesh(CubeServiceEngine.java:806)
         at com.collaxa.cube.ws.WSInvocationManager.invoke(WSInvocationManager.java:258)
         at com.collaxa.cube.engine.ext.common.InvokeHandler.__invoke(InvokeHandler.java:1059)
         at com.collaxa.cube.engine.ext.common.InvokeHandler.handleNormalInvoke(InvokeHandler.java:586)
         at com.collaxa.cube.engine.ext.common.InvokeHandler.handle(InvokeHandler.java:130)
         at com.collaxa.cube.engine.ext.bpel.common.wmp.BPELInvokeWMP.__executeStatements(BPELInvokeWMP.java:74)
         at com.collaxa.cube.engine.ext.bpel.common.wmp.BaseBPELActivityWMP.perform(BaseBPELActivityWMP.java:158)
         at com.collaxa.cube.engine.CubeEngine.performActivity(CubeEngine.java:2543)
         at com.collaxa.cube.engine.CubeEngine._handleWorkItem(CubeEngine.java:1165)
         at com.collaxa.cube.engine.CubeEngine.handleWorkItem(CubeEngine.java:1071)
         at com.collaxa.cube.engine.dispatch.message.instance.PerformMessageHandler.handleLocal(PerformMessageHandler.java:73)
         at com.collaxa.cube.engine.dispatch.DispatchHelper.handleLocalMessage(DispatchHelper.java:220)
         at com.collaxa.cube.engine.dispatch.DispatchHelper.sendMemory(DispatchHelper.java:328)
         at com.collaxa.cube.engine.CubeEngine.endRequest(CubeEngine.java:4430)
         at com.collaxa.cube.engine.CubeEngine.endRequest(CubeEngine.java:4361)
         at com.collaxa.cube.engine.CubeEngine._createAndInvoke(CubeEngine.java:698)
         at com.collaxa.cube.engine.CubeEngine.createAndInvoke(CubeEngine.java:555)
         at com.collaxa.cube.engine.delivery.DeliveryService.handleInvoke(DeliveryService.java:673)
         at com.collaxa.cube.engine.ejb.impl.CubeDeliveryBean.handleInvoke(CubeDeliveryBean.java:293)
         at sun.reflect.GeneratedMethodAccessor1034.invoke(Unknown Source)
         at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:25)
         at java.lang.reflect.Method.invoke(Method.java:597)
         at com.bea.core.repackaged.springframework.aop.support.AopUtils.invokeJoinpointUsingReflection(AopUtils.java:310)
         at com.bea.core.repackaged.springframework.aop.framework.ReflectiveMethodInvocation.invokeJoinpoint(ReflectiveMethodInvocation.java:182)
         at com.bea.core.repackaged.springframework.aop.framework.ReflectiveMethodInvocation.proceed(ReflectiveMethodInvocation.java:149)
         at com.bea.core.repackaged.springframework.jee.intercept.MethodInvocationInvocationContext.proceed(MethodInvocationInvocationContext.java:104)
         at oracle.security.jps.ee.ejb.JpsAbsInterceptor$1.run(JpsAbsInterceptor.java:94)
         at java.security.AccessController.doPrivileged(Native Method)
         at oracle.security.jps.util.JpsSubject.doAsPrivileged(JpsSubject.java:313)
         at oracle.security.jps.ee.util.JpsPlatformUtil.runJaasMode(JpsPlatformUtil.java:413)
         at oracle.security.jps.ee.ejb.JpsAbsInterceptor.runJaasMode(JpsAbsInterceptor.java:81)
         at oracle.security.jps.ee.ejb.JpsAbsInterceptor.intercept(JpsAbsInterceptor.java:112)
         at oracle.security.jps.ee.ejb.JpsInterceptor.intercept(JpsInterceptor.java:105)
         at sun.reflect.GeneratedMethodAccessor900.invoke(Unknown Source)
         at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:25)
         at java.lang.reflect.Method.invoke(Method.java:597)
         at com.bea.core.repackaged.springframework.aop.support.AopUtils.invokeJoinpointUsingReflection(AopUtils.java:310)
         at com.bea.core.repackaged.springframework.jee.intercept.JeeInterceptorInterceptor.invoke(JeeInterceptorInterceptor.java:69)
         at com.bea.core.repackaged.springframework.aop.framework.ReflectiveMethodInvocation.proceed(ReflectiveMethodInvocation.java:171)
         at com.bea.core.repackaged.springframework.aop.support.DelegatingIntroductionInterceptor.doProceed(DelegatingIntroductionInterceptor.java:131)
         at com.bea.core.repackaged.springframework.aop.support.DelegatingIntroductionInterceptor.invoke(DelegatingIntroductionInterceptor.java:119)
         at com.bea.core.repackaged.springframework.aop.framework.ReflectiveMethodInvocation.proceed(ReflectiveMethodInvocation.java:171)
         at com.bea.core.repackaged.springframework.jee.spi.MethodInvocationVisitorImpl.visit(MethodInvocationVisitorImpl.java:37)
         at weblogic.ejb.container.injection.EnvironmentInterceptorCallbackImpl.callback(EnvironmentInterceptorCallbackImpl.java:54)
         at com.bea.core.repackaged.springframework.jee.spi.EnvironmentInterceptor.invoke(EnvironmentInterceptor.java:50)
         at com.bea.core.repackaged.springframework.aop.framework.ReflectiveMethodInvocation.proceed(ReflectiveMethodInvocation.java:171)
         at com.bea.core.repackaged.springframework.aop.interceptor.ExposeInvocationInterceptor.invoke(ExposeInvocationInterceptor.java:89)
         at com.bea.core.repackaged.springframework.aop.framework.ReflectiveMethodInvocation.proceed(ReflectiveMethodInvocation.java:171)
         at com.bea.core.repackaged.springframework.aop.support.DelegatingIntroductionInterceptor.doProceed(DelegatingIntroductionInterceptor.java:131)
         at com.bea.core.repackaged.springframework.aop.support.DelegatingIntroductionInterceptor.invoke(DelegatingIntroductionInterceptor.java:119)
         at com.bea.core.repackaged.springframework.aop.framework.ReflectiveMethodInvocation.proceed(ReflectiveMethodInvocation.java:171)
         at com.bea.core.repackaged.springframework.aop.framework.JdkDynamicAopProxy.invoke(JdkDynamicAopProxy.java:204)
         at $Proxy276.handleInvoke(Unknown Source)
         at com.collaxa.cube.engine.ejb.impl.bpel.BPELDeliveryBean_5k948i_ICubeDeliveryLocalBeanImpl.__WL_invoke(Unknown Source)
         at weblogic.ejb.container.internal.SessionLocalMethodInvoker.invoke(SessionLocalMethodInvoker.java:39)
         at com.collaxa.cube.engine.ejb.impl.bpel.BPELDeliveryBean_5k948i_ICubeDeliveryLocalBeanImpl.handleInvoke(Unknown Source)
         at com.collaxa.cube.engine.dispatch.message.invoke.InvokeInstanceMessageHandler.handle(InvokeInstanceMessageHandler.java:35)
         at com.collaxa.cube.engine.dispatch.DispatchHelper.handleMessage(DispatchHelper.java:140)
         at com.collaxa.cube.engine.dispatch.BaseDispatchTask.process(BaseDispatchTask.java:88)
         at com.collaxa.cube.engine.dispatch.BaseDispatchTask.run(BaseDispatchTask.java:64)
         at java.util.concurrent.ThreadPoolExecutor$Worker.runTask(ThreadPoolExecutor.java:886)
         at java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:908)
         at java.lang.Thread.run(Thread.java:662)
    Caused by: weblogic.jms.common.InvalidDestinationException: [JMSClientExceptions:055143]Destination must be a queue, PocJmsModule!PocJmsTopic
         at weblogic.jms.common.Destination.checkDestinationType(Destination.java:112)
         at weblogic.jms.client.JMSSession.setupJMSProducer(JMSSession.java:2830)
         at weblogic.jms.client.JMSSession.createProducer(JMSSession.java:2858)
         at weblogic.jms.client.JMSSession.createSender(JMSSession.java:2605)
         at oracle.tip.adapter.jms.JMS.JMSConnection.createProducer(JMSConnection.java:698)
         ... 87 more
    [2011-07-19T06:56:33.927-04:00] [soa_server1] [ERROR] [] [oracle.soa.adapter] [tid: orabpel.invoke.pool-4.thread-3] [userId: <anonymous>] [ecid: 4c1276542546757f:14f086aa:131000ef8b1:-8000-00000000001abc77,0:1:100079473] [APP: soa-infra] [composite_name: JMSQueueWrite_Composite] [component_name: queueWrite_bpel] [component_instance_id: 103412] JCABinding=> [default/JMSQueueWrite_Composite!1.0*soa_c000666f-6301-48aa-805d-d92a5e62a021.TopicWriteJMSAdapter]:Produce_Message One-way operation Produce_Message() failed
    [2011-07-19T06:56:33.929-04:00] [soa_server1] [ERROR] [] [oracle.soa.adapter] [tid: orabpel.invoke.pool-4.thread-1] [userId: <anonymous>] [ecid: 4c1276542546757f:14f086aa:131000ef8b1:-8000-00000000001abc76,0:1:100079475] [APP: soa-infra] [composite_name: JMSQueueWrite_Composite] [component_name: queueWrite_bpel] [component_instance_id: 103413] JCABinding=> JMSQueueWrite_Composite:TopicWriteJMSAdapter [ Produce_Message_ptt::Produce_Message(opaque) ] Could not invoke operation 'Produce_Message' against the 'JMS Adapter' due to: [[
    BINDING.JCA-12137
    ===============================================================
    Thanks
    Ajay

    6) Created JMS Adapter connection pool.Did you set IsTopic attribute here for the outbound connection pool to true...
    Instead of creating custom connection pools, easiest approach would be to use eis/wls/Queue as the jndi name in the partner Link for queues and      eis/wls/Topic for topics.

  • JNDI Lookup for JMS Topic issue.......!

    Hi,
              Our application is deployed on two nodes (MS1 and MS2 in a cluster) and I created JMSServer on MS1, JMS ConnectionFactory and Distributed Topic are targeted on both MS1 and MS2 i.e on entire cluster.
              We have the JMS Code in postStart() method of starup class which extends ApplicationLifecycleListener which would create the JMS Subcriber and set the message listener on to it.
              code snippet:
                   System.out.println("createSubscriber called");
                   subSession = topicConnection.createTopicSession(false, Session.AUTO_ACKNOWLEDGE);
                   // Lookup for the Topic
                   Topic cadTopic = (Topic) ctx.lookup("JMSTopicLog4j");
                   System.out.println("Topic is: " + cadTopic.getTopicName());
                   // Create JMS Subscriber.
                   cadSubscriber = subSession.createSubscriber(cadTopic);
                   // Set the listener to Subscriber.
                   cadSubscriber.setMessageListener(new CADMessageListener());
                   topicConnection.start();
              When I start the cluster (managed Servers MS1 and MS2) for the first time and deploy the application on them (entire cluster) it works well i.e. message listener is active and able to receive messages published by publisher but when I try to stop and start MS2 it gives the following exception during server startup
              javax.naming.NameNotFoundException: Unable to resolve 'JMSTopicLog4j'. Resolved ''
              javax.naming.NameNotFoundException: Unable to resolve 'JMSTopicLog4j'. Resolved ''; remaining name 'JMSTopicLog4j'
              at weblogic.jndi.internal.BasicNamingNode.newNameNotFoundException(BasicNamingNode.java:1123)
              at weblogic.jndi.internal.BasicNamingNode.lookupHere(BasicNamingNode.java:250)
              at weblogic.jndi.internal.ServerNamingNode.lookupHere(ServerNamingNode.java:171)
              at weblogic.jndi.internal.BasicNamingNode.lookup(BasicNamingNode.java:204)
              at weblogic.jndi.internal.WLEventContextImpl.lookup(WLEventContextImpl.java:267)
              at weblogic.jndi.internal.WLContextImpl.lookup(WLContextImpl.java:362)
              Note: I thought my application context is getting started before JNDI tree is loaded but I could see that it is able to lookup the ConnectionFactory and throws the given exception when it comes to lookup code of JMS Topic.
              is there any configuration issue or am I missing something? Please help me in this regard.
              Thanks in advance.
              Kris.

    Very interesting, I mean in the sense that we have the same setup, but instead of topic we are using the queues.
              And our problem is exactly the same,deployment works but after restart same javax.naming.NameNotFoundException happens on server 2.

  • 1 "simple" JMS topic and 2 cluster elements with OSB

    Hi,
    I have 1 simple jms topic (not distributed, not on migratable target) and cluster with 2 members - OSB as main application. My OSB proxy service reads from this topic and saves data to file.
    The problem is that reading from topic appears twice - once by each cluster member. How to configure topic or proxy service for only one reading?

    FYI - At this year's Oracle OpenWorld, which is being held in conjunction with this year's JavaOne, Oracle will be announcing a set of enhancements that are designed to cover this exact use case.
    Tom Barnes
    Session ID: S317469
    Title: New Service-Oriented Architecture Patterns with Enterprise Grid Messaging
    Abstract: Messaging systems are essential in enabling the flexibility and loosely coupled nature of a service-oriented architecture (SOA). Oracle WebLogic Java Message Service (JMS) includes new pub-sub capabilities that make architectures more adaptable, allowing message producers to be ignorant of who is the consumer of a message or how many consumers there are. It also enables easy scale out and dynamic adaptability through clustering and message-driven bean (MDB) enhancements, all while still guaranteeing strict message ordering. This session will outline new JMS capabilities and show how they enable new designs with Oracle WebLogic Server and Oracle Service Bus.
    Speaker(s): Dongbo Xiao, Oracle, Principal Member of Technical Staff
    Biography not available.
    David Cabelus, Oracle USA, Senior Principal Product Manager
    Dave Cabelus is a Senior Principal Product Manager in the WebLogic Server group at Oracle. Dave's responsibilities include product strategy and direction for various pieces of WebLogic Server, including Java Messaging, Operations and Management, Diagnostics, and various other initiatives, and previously included database connectivity, transactions, and Web tier integration. In the industry since 1996 and involved in Java since 1999, Dave worked at various software companies including Logic Works, Platinum Software, Kana, and a few startups before coming to Oracle (BEA) in 2001.
    Event: JavaOne and Oracle Develop
    Stream(s): ORACLE DEVELOP, DEVELOP
    Track(s): Application Grid and Oracle WebLogic
    Tags: Add
    Session Type: Conference Session
    Session Category: Features
    Duration: 60 min.
    Schedule: Thursday, September 23, 11:00AM | Hotel Nikko, Nikko Ballroom II Available
    Edited by: TomB on Aug 12, 2010 1:21 PM

  • Connectivity to the JMS Topic for the server synchronization information

    Hi,
    I am gettign below error, Can any body knows it, Please help
    ProcessService 'GoYar/2011-09-16 20:21:38-04:00' created successfully.
    Session initialized for participant User1 (User1 User1) with roles [ADMIN, CHECK_USER:US, APPR_USER:US, MOD_USER:US, WORK_ADMIN]
    Unreachable Engine Tolerance (seconds):
    by default: 0
    to be used: 0
    This papi client will not cache exceptions which imply that an engine could not be reached.
    The connection to the JMS Topic engine was completed successfully.
    Starting Fuego PAPI News Listener [cddbpdvg_dev] Service [GoYar/2011-09-16 20:21:38-04:00:46354487:29112942]
    Topic Lookup topicFactoryLookupName: XATopicCF
    topicLookupName: NewsTopic
    The connectivity to the JMS Topic for the server synchronization information has been temporarily interrupted.
    Details:
    Error looking up Topic Connection Factory 'XATopicCF'.
    Details:
    javax.naming.NameNotFoundException: Unable to resolve 'XATopicCF'. Resolved ''; remaining name 'XATopicCF'
    Caused by: Unable to resolve 'XATopicCF'. Resolved ''
    fuego.papi.impl.j2ee.JMSTopicLookUpException: Error looking up Topic Connection Factory 'XATopicCF'.
    Details:
    javax.naming.NameNotFoundException: Unable to resolve 'XATopicCF'. Resolved ''; remaining name 'XATopicCF'
    at fuego.papi.impl.j2ee.J2EEEngineAccessImpl$TopicSubscriberImpl.lookupTopic(J2EEEngineAccessImpl.java:741)
    at fuego.papi.impl.j2ee.J2EEEngineAccessImpl$TopicSubscriberImpl.run(J2EEEngineAccessImpl.java:620)
    Caused by: javax.naming.NameNotFoundException: Unable to resolve 'XATopicCF'. Resolved ''; remaining name 'XATopicCF'
    at weblogic.jndi.internal.BasicNamingNode.newNameNotFoundException(BasicNamingNode.java:1139)
    at weblogic.jndi.internal.BasicNamingNode.lookupHere(BasicNamingNode.java:252)
    at weblogic.jndi.internal.ServerNamingNode.lookupHere(ServerNamingNode.java:182)
    at weblogic.jndi.internal.BasicNamingNode.lookup(BasicNamingNode.java:206)
    at weblogic.jndi.internal.WLEventContextImpl.lookup(WLEventContextImpl.java:254)
    at weblogic.jndi.internal.WLContextImpl.lookup(WLContextImpl.java:380)
    at javax.naming.InitialContext.lookup(InitialContext.java:392)
    at fuego.papi.impl.j2ee.J2EEEngineAccessImpl$TopicSubscriberImpl.lookupTopic(J2EEEngineAccessImpl.java:732)
    ... 1 more

    Could this be a CLASSPATH issue?
    Caused by: java.lang.ClassNotFoundException: weblogic.jndi.WLInitialContextFactory
    at java.net.URLClassLoader$1.run(URLClassLoader.java:200)
    at java.security.AccessController.doPrivileged(Native Method)

  • JMS Topics translate to Queues behind the scenes?

    Hi There:
    In discussing JMS implementation with coworkers I found someone mention that even if we created topics and have users subscribed to those topics, those topics get translated into individual queues per topic per user. So the queue in affect gets subscribed to the topic and the user is actually subscribed to the queue. While I can imagine that this kind of implementation makes sense for reliable delivery, I find it hard to believe that this is the way JMS implements topics internally.
    Can someone throw some lite on this please?

    RajMap wrote:
    Well the content gets replicated to the queues when it is not necessary to do that. If I am not doing reliable delivery, then the message that is published to the topic is delivered to the users that are subscribed to the topic at the point in time, and to do that I do not see the need to implement it via queues. Like I mentioned before for reliable delivery it makes sense to implement them to queues.
    And secondly it might lead to an explosion of queues internally. Consider for e.g. if we have say 5000 topics and about 10-15 subscribers for each topic, it will result in up to 75000 queues. I am not sure if that is a big number for queues, but it feel larger than what I designed for because in my mind I am thinking 4000-5000 topics.you are making a lot of conjectures based on entirely abstract concepts. what is a "queue"? what is a "topic"? these are just abstract ideas used by the jms spec. the words "queue" and "topic" define a bunch of behavior, but say nothing about how you need to implement that behavior. is 75000 queues a lot of queues? who knows, depends how i choose to implement a queue. is the data "replicated" to each queue in a topic? who knows, depends how i choose to store data. you can't make any of these statements outside of a specific implementation of the jms spec.

  • Problem having a MDB connect to a remote JMS Topic

    Hi, I am having problem making an MDB listen to a remote JMS Topic. Here's the
    scenario:
    Two Weblogic servers (6.1 sp3) running on the same machine (W2K) - they arenot part of a cluster......both are independent servers
    One WLS is listening on port 7001 (Domain=WLSDomain1; Target=Server1) and thesecond one on 8001 (Domain=WLSDomain2; Target=Server1 {This is not a typo, the
    target is Server1})
    In WLSDomain1/Server1, I have a JMS Topic defined as follows (in its config.xmlfile):
    <JMSServer Name="EventServicesJMSServer"
    Store="ESJMSServerFileStore" Targets="Server1">
    <JMSTopic JNDIName="jms/EventServicesTopic7001"
    Name="jms/EventServicesTopic7001" StoreEnabled="true"/>
    </JMSServer>
    In WLSDomain2/Server1, I have a JMS Topic defined as follows (in config.xmlfile):
    <JMSServer Name="EventServicesJMSServer"
    Store="ESJMSServerFileStore" Targets="Server1">
    <JMSTopic JNDIName="jms/EventServicesTopic8001"
    Name="jms/EventServicesTopic8001" StoreEnabled="true"/>
    </JMSServer>
    An MDB is deployed on WLSDomain1/Server1 with the following elements in itsweblogic-jar.xml file (I haven't included the entire weblogic-jar.xml file, only
    the relevant info):
    <message-driven-descriptor>
    <pool>
    <max-beans-in-free-pool>1</max-beans-in-free-pool>
    <initial-beans-in-free-pool>0</initial-beans-in-free-pool>
    </pool>
    <!-- This MDB is defined to listen to a Topic in another WLS Server running
    on port 8001 -->
    <destination-jndi-name>jms/EventServicesTopic8001</destination-jndi-name>
    <initial-context-factory>weblogic.jndi.WLInitialContextFactory</initial-context-factory>
    <provider-url>t3://localhost:8001</provider-url>
    <connection-factory-jndi-name>weblogic/jms/ConnectionFactory</connection-factory-jndi-name>
    </message-driven-descriptor>
    An MDB is deployed on WLSDomain2/Server1 with the following elements in itsweblogic-jar.xml file (I haven't included the entire weblogic-jar.xml file, only
    the relevant info):
    <message-driven-descriptor>
    <pool>
    <max-beans-in-free-pool>1</max-beans-in-free-pool>
    <initial-beans-in-free-pool>0</initial-beans-in-free-pool>
    </pool>
    <!-- This MDB is defined to listen to a Topic in another WLS Server running
    on port 7001 -->
    <destination-jndi-name>jms/EventServicesTopic7001</destination-jndi-name>
    <initial-context-factory>weblogic.jndi.WLInitialContextFactory</initial-context-factory>
    <provider-url>t3://localhost:7001</provider-url>
    <connection-factory-jndi-name>weblogic/jms/ConnectionFactory</connection-factory-jndi-name>
    </message-driven-descriptor>
    After starting both the WLS servers, I've verified that they have made connectionsto each other; the Topics are defined in the JNDI tree of the respective servers;
    and the MDBs have been deployed in their respective servers. But the MDBs can't
    see/connect to their respective JMS destination. Here's the error message and
    stack trace from one the WLS server's trace file:
    <Apr 17, 2003 4:58:25 PM GMT> <Warning> <EJB> <The Message-Driven EJB: com.manu.
    common.server.objectServices.CSMEventListenerMDB_8001 is unable to connect to
    the JMS destination: jms/EventServicesTopic8001. The EJB container will automatically
    attempt to
    re-establish the connection with the JMS server. This warning may occur during
    WebLogic Cluster start-up if the JMS destination is located on another server.
    When the JMS server connection is re-established, the Message-Driven EJB will
    again receive JMS messages.
    The Error was:
    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 weblogic.ejb20.internal.JMSConnectionPoller.createJMSConnection(JMSConnectionPoller.java:522)
    at weblogic.ejb20.internal.JMSConnectionPoller.connectToJMS(JMSConnectionPoller.java:418)
    at weblogic.ejb20.internal.JMSConnectionPoller.trigger(JMSConnectionPoller.java:348)
    at weblogic.time.common.internal.ScheduledTrigger.executeLocally(ScheduledTrigger.java:238)
    at weblogic.time.common.internal.ScheduledTrigger.execute(ScheduledTrigger.java:229)
    at weblogic.time.server.ScheduledTrigger.execute(ScheduledTrigger.java:6
    9)
    at weblogic.kernel.ExecuteThread.execute(ExecuteThread.java:139)
    at weblogic.kernel.ExecuteThread.run(ExecuteThread.java:120)
    Have you run into a similar problem? Any suggestion?
    Thanks,
    Farook

    Hi, I am having problem making an MDB listen to a remote JMS Topic. Here's the
    scenario:
    Two Weblogic servers (6.1 sp3) running on the same machine (W2K) - they arenot part of a cluster......both are independent servers
    One WLS is listening on port 7001 (Domain=WLSDomain1; Target=Server1) and thesecond one on 8001 (Domain=WLSDomain2; Target=Server1 {This is not a typo, the
    target is Server1})
    In WLSDomain1/Server1, I have a JMS Topic defined as follows (in its config.xmlfile):
    <JMSServer Name="EventServicesJMSServer"
    Store="ESJMSServerFileStore" Targets="Server1">
    <JMSTopic JNDIName="jms/EventServicesTopic7001"
    Name="jms/EventServicesTopic7001" StoreEnabled="true"/>
    </JMSServer>
    In WLSDomain2/Server1, I have a JMS Topic defined as follows (in config.xmlfile):
    <JMSServer Name="EventServicesJMSServer"
    Store="ESJMSServerFileStore" Targets="Server1">
    <JMSTopic JNDIName="jms/EventServicesTopic8001"
    Name="jms/EventServicesTopic8001" StoreEnabled="true"/>
    </JMSServer>
    An MDB is deployed on WLSDomain1/Server1 with the following elements in itsweblogic-jar.xml file (I haven't included the entire weblogic-jar.xml file, only
    the relevant info):
    <message-driven-descriptor>
    <pool>
    <max-beans-in-free-pool>1</max-beans-in-free-pool>
    <initial-beans-in-free-pool>0</initial-beans-in-free-pool>
    </pool>
    <!-- This MDB is defined to listen to a Topic in another WLS Server running
    on port 8001 -->
    <destination-jndi-name>jms/EventServicesTopic8001</destination-jndi-name>
    <initial-context-factory>weblogic.jndi.WLInitialContextFactory</initial-context-factory>
    <provider-url>t3://localhost:8001</provider-url>
    <connection-factory-jndi-name>weblogic/jms/ConnectionFactory</connection-factory-jndi-name>
    </message-driven-descriptor>
    An MDB is deployed on WLSDomain2/Server1 with the following elements in itsweblogic-jar.xml file (I haven't included the entire weblogic-jar.xml file, only
    the relevant info):
    <message-driven-descriptor>
    <pool>
    <max-beans-in-free-pool>1</max-beans-in-free-pool>
    <initial-beans-in-free-pool>0</initial-beans-in-free-pool>
    </pool>
    <!-- This MDB is defined to listen to a Topic in another WLS Server running
    on port 7001 -->
    <destination-jndi-name>jms/EventServicesTopic7001</destination-jndi-name>
    <initial-context-factory>weblogic.jndi.WLInitialContextFactory</initial-context-factory>
    <provider-url>t3://localhost:7001</provider-url>
    <connection-factory-jndi-name>weblogic/jms/ConnectionFactory</connection-factory-jndi-name>
    </message-driven-descriptor>
    After starting both the WLS servers, I've verified that they have made connectionsto each other; the Topics are defined in the JNDI tree of the respective servers;
    and the MDBs have been deployed in their respective servers. But the MDBs can't
    see/connect to their respective JMS destination. Here's the error message and
    stack trace from one the WLS server's trace file:
    <Apr 17, 2003 4:58:25 PM GMT> <Warning> <EJB> <The Message-Driven EJB: com.manu.
    common.server.objectServices.CSMEventListenerMDB_8001 is unable to connect to
    the JMS destination: jms/EventServicesTopic8001. The EJB container will automatically
    attempt to
    re-establish the connection with the JMS server. This warning may occur during
    WebLogic Cluster start-up if the JMS destination is located on another server.
    When the JMS server connection is re-established, the Message-Driven EJB will
    again receive JMS messages.
    The Error was:
    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 weblogic.ejb20.internal.JMSConnectionPoller.createJMSConnection(JMSConnectionPoller.java:522)
    at weblogic.ejb20.internal.JMSConnectionPoller.connectToJMS(JMSConnectionPoller.java:418)
    at weblogic.ejb20.internal.JMSConnectionPoller.trigger(JMSConnectionPoller.java:348)
    at weblogic.time.common.internal.ScheduledTrigger.executeLocally(ScheduledTrigger.java:238)
    at weblogic.time.common.internal.ScheduledTrigger.execute(ScheduledTrigger.java:229)
    at weblogic.time.server.ScheduledTrigger.execute(ScheduledTrigger.java:6
    9)
    at weblogic.kernel.ExecuteThread.execute(ExecuteThread.java:139)
    at weblogic.kernel.ExecuteThread.run(ExecuteThread.java:120)
    Have you run into a similar problem? Any suggestion?
    Thanks,
    Farook

Maybe you are looking for