WebLogic JMS client frozen during JMS connection stopping (race condition)

Hello,
Our application is using the WebLogic 10.3.1 JMS client generated with wlfullclient5.jar.
We have sometimes a race condition when the WebLogic server is stopped.
In about 10% of the cases where the server is stopped, the client application is frozen in the "stop" call (see stack trace #1 below).
Our understanding is that each JMS API call by the application is translated by a request-response message on the TCP connection to the JMS server. The JMS library sends the request and then wait for the response. From our observations, it looks like there is no local timeout in the JMS library. This means that if the WebLogic server is being stopped just after receiving the "stop" request, it will never send the "stop" response, which means that the application will be stuck forever.
The same problem also occurs when using JMS bridges between 2 JMS servers (see stack trace #2 below).
How can we activate a local timeout for all JNDI/JMS calls ?
Regards,
metatech
"AppThread" prio=3 tid=0x0000000100117800 nid=0x2 in Object.wait() [0xffffffff7befe000]
java.lang.Thread.State: WAITING (on object monitor)
at java.lang.Object.wait(Native Method)
at java.lang.Object.wait(Object.java:485)
at weblogic.messaging.dispatcher.DispatcherWrapperState.triggerPeerGoneAndWait(DispatcherWrapperState.java:607)
- locked <0xffffffff7509aee8> (a weblogic.messaging.dispatcher.DispatcherWrapperState)
at weblogic.messaging.dispatcher.DispatcherWrapperState.dispatchSyncTran(DispatcherWrapperState.java:349)
at weblogic.messaging.dispatcher.DispatcherWrapperState.dispatchSyncNoTran(DispatcherWrapperState.java:386)
at weblogic.messaging.dispatcher.DispatcherWrapperState.dispatchSync(DispatcherWrapperState.java:252)
at weblogic.jms.dispatcher.DispatcherAdapter.dispatchSync(DispatcherAdapter.java:43)
at weblogic.jms.client.JMSConnection.stop(JMSConnection.java:758)
- locked <0xffffffff7509a640> (a weblogic.jms.client.JMSConnection)
at weblogic.jms.client.WLConnectionImpl.stop(WLConnectionImpl.java:722)
at AppSession.closeJMSSession(ConnectorSession.java:499)
"[ACTIVE] ExecuteThread: '12' for queue: 'weblogic.kernel.Default (self-tuning)'" waiting for lock weblogic.jms.client.JMSXASession@1d363e4 WAITING
java.lang.Object.wait(Native Method)
java.lang.Object.wait(Object.java:485)
weblogic.jms.client.JMSSession.waitForState(JMSSession.java:4778)
weblogic.jms.client.JMSSession.stop(JMSSession.java:1310)
weblogic.jms.client.JMSConnection.stop(JMSConnection.java:773)
weblogic.jms.client.WLConnectionImpl.stop(WLConnectionImpl.java:722)
weblogic.jms.adapter.JMSBaseConnection.closeInternal(JMSBaseConnection.java:570)
weblogic.jms.adapter.JMSBaseConnection.access$000(JMSBaseConnection.java:85)
weblogic.jms.adapter.JMSBaseConnection$2.run(JMSBaseConnection.java:552)

Hi Tom,
Thanks for looking at the issue.
I tried to post the full thread dump as an attachment, but it is not allowed by the forum, so you find it hereunder.
Regards,
metatech
=================
2010-05-28 12:33:19
Full thread dump Java HotSpot(TM) 64-Bit Server VM (14.2-b01 mixed mode):
"Attach Listener" daemon prio=3 tid=0x0000000100c5b800 nid=0x24 waiting on condition [0x0000000000000000]
java.lang.Thread.State: RUNNABLE
"ExecuteThread: '0' for queue: 'JmsAsyncQueue'" daemon prio=3 tid=0x0000000100759800 nid=0x23 in Object.wait() [0xffffffff643ff000]
java.lang.Thread.State: WAITING (on object monitor)
     at java.lang.Object.wait(Native Method)
     at java.lang.Object.wait(Object.java:485)
     at weblogic.kernel.ExecuteThread.waitForRequest(ExecuteThread.java:91)
     - locked <0xffffffff6f4ed828> (a weblogic.kernel.ServerExecuteThread)
     at weblogic.kernel.ExecuteThread.run(ExecuteThread.java:115)
"Timer-0" daemon prio=3 tid=0x000000010078c800 nid=0x21 in Object.wait() [0xffffffff647ff000]
java.lang.Thread.State: WAITING (on object monitor)
     at java.lang.Object.wait(Native Method)
     - waiting on <0xffffffff6f4ee2c0> (a java.util.TaskQueue)
     at java.lang.Object.wait(Object.java:485)
     at java.util.TimerThread.mainLoop(Timer.java:483)
     - locked <0xffffffff6f4ee2c0> (a java.util.TaskQueue)
     at java.util.TimerThread.run(Timer.java:462)
"weblogic.timers.TimerThread" daemon prio=3 tid=0x00000001008e0000 nid=0x20 in Object.wait() [0xffffffff649ff000]
java.lang.Thread.State: TIMED_WAITING (on object monitor)
     at java.lang.Object.wait(Native Method)
     at weblogic.timers.internal.TimerThread$Thread.run(TimerThread.java:267)
     - locked <0xffffffff6f4e75d0> (a weblogic.timers.internal.TimerThread)
"ExecuteThread: '3' for queue: 'default'" daemon prio=3 tid=0x0000000100709000 nid=0x1e waiting for monitor entry [0xffffffff65afe000]
java.lang.Thread.State: BLOCKED (on object monitor)
     at weblogic.jms.client.JMSConnection.stateChangeListener(JMSConnection.java:1413)
     - waiting to lock <0xffffffff7509a640> (a weblogic.jms.client.JMSConnection)
     at weblogic.messaging.dispatcher.DispatcherWrapperState.run(DispatcherWrapperState.java:682)
     at weblogic.messaging.dispatcher.DispatcherWrapperState.timerExpired(DispatcherWrapperState.java:617)
     at weblogic.timers.internal.TimerImpl.run(TimerImpl.java:273)
     at weblogic.work.ExecuteRequestAdapter.execute(ExecuteRequestAdapter.java:21)
     at weblogic.kernel.ExecuteThread.execute(ExecuteThread.java:145)
     at weblogic.kernel.ExecuteThread.run(ExecuteThread.java:117)
"ExecuteThread: '2' for queue: 'default'" daemon prio=3 tid=0x000000010055c800 nid=0x1d in Object.wait() [0xffffffff65cff000]
java.lang.Thread.State: WAITING (on object monitor)
     at java.lang.Object.wait(Native Method)
     at java.lang.Object.wait(Object.java:485)
     at weblogic.kernel.ExecuteThread.waitForRequest(ExecuteThread.java:91)
     - locked <0xffffffff6f427a80> (a weblogic.kernel.ServerExecuteThread)
     at weblogic.kernel.ExecuteThread.run(ExecuteThread.java:115)
"ExecuteThread: '1' for queue: 'default'" daemon prio=3 tid=0x000000010055c000 nid=0x1c in Object.wait() [0xffffffff65eff000]
java.lang.Thread.State: WAITING (on object monitor)
     at java.lang.Object.wait(Native Method)
     at java.lang.Object.wait(Object.java:485)
     at weblogic.kernel.ExecuteThread.waitForRequest(ExecuteThread.java:91)
     - locked <0xffffffff6f427da0> (a weblogic.kernel.ServerExecuteThread)
     at weblogic.kernel.ExecuteThread.run(ExecuteThread.java:115)
"ExecuteThread: '0' for queue: 'default'" daemon prio=3 tid=0x00000001006fa800 nid=0x1b in Object.wait() [0xffffffff660ff000]
java.lang.Thread.State: WAITING (on object monitor)
     at java.lang.Object.wait(Native Method)
     at java.lang.Object.wait(Object.java:485)
     at weblogic.kernel.ExecuteThread.waitForRequest(ExecuteThread.java:91)
     - locked <0xffffffff6f4280c0> (a weblogic.kernel.ServerExecuteThread)
     at weblogic.kernel.ExecuteThread.run(ExecuteThread.java:115)
"StateHolder" daemon prio=3 tid=0x0000000100584800 nid=0x1a waiting on condition [0xffffffff66aff000]
java.lang.Thread.State: TIMED_WAITING (sleeping)
     at java.lang.Thread.sleep(Native Method)
     at StateHolder.run(StateHolder.java:80)
     at java.lang.Thread.run(Thread.java:619)
"Thread-1" daemon prio=3 tid=0x0000000100554000 nid=0x18 waiting on condition [0xffffffff66cff000]
java.lang.Thread.State: TIMED_WAITING (sleeping)
     at java.lang.Thread.sleep(Native Method)
     at org.apache.log4j.helpers.FileWatchdog.run(FileWatchdog.java:104)
"Low Memory Detector" daemon prio=3 tid=0x00000001003d3800 nid=0x16 runnable [0x0000000000000000]
java.lang.Thread.State: RUNNABLE
"CompilerThread1" daemon prio=3 tid=0x00000001003cf000 nid=0x15 waiting on condition [0x0000000000000000]
java.lang.Thread.State: RUNNABLE
"CompilerThread0" daemon prio=3 tid=0x00000001003cd800 nid=0x14 waiting on condition [0x0000000000000000]
java.lang.Thread.State: RUNNABLE
"Signal Dispatcher" daemon prio=3 tid=0x00000001003cb800 nid=0x13 runnable [0x0000000000000000]
java.lang.Thread.State: RUNNABLE
"Finalizer" daemon prio=3 tid=0x00000001003a4800 nid=0x12 in Object.wait() [0xffffffff680ff000]
java.lang.Thread.State: WAITING (on object monitor)
     at java.lang.Object.wait(Native Method)
     at java.lang.ref.ReferenceQueue.remove(ReferenceQueue.java:118)
     - locked <0xffffffff6f4c7670> (a java.lang.ref.ReferenceQueue$Lock)
     at java.lang.ref.ReferenceQueue.remove(ReferenceQueue.java:134)
     at java.lang.ref.Finalizer$FinalizerThread.run(Finalizer.java:159)
"Reference Handler" daemon prio=3 tid=0x00000001003a3000 nid=0x11 in Object.wait() [0xffffffff682ff000]
java.lang.Thread.State: WAITING (on object monitor)
     at java.lang.Object.wait(Native Method)
     at java.lang.Object.wait(Object.java:485)
     at java.lang.ref.Reference$ReferenceHandler.run(Reference.java:116)
     - locked <0xffffffff6f401370> (a java.lang.ref.Reference$Lock)
"Worker" prio=3 tid=0x0000000100117800 nid=0x2 in Object.wait() [0xffffffff7befe000]
java.lang.Thread.State: WAITING (on object monitor)
     at java.lang.Object.wait(Native Method)
     at java.lang.Object.wait(Object.java:485)
     at weblogic.messaging.dispatcher.DispatcherWrapperState.triggerPeerGoneAndWait(DispatcherWrapperState.java:607)
     - locked <0xffffffff7509aee8> (a weblogic.messaging.dispatcher.DispatcherWrapperState)
     at weblogic.messaging.dispatcher.DispatcherWrapperState.dispatchSyncTran(DispatcherWrapperState.java:349)
     at weblogic.messaging.dispatcher.DispatcherWrapperState.dispatchSyncNoTran(DispatcherWrapperState.java:386)
     at weblogic.messaging.dispatcher.DispatcherWrapperState.dispatchSync(DispatcherWrapperState.java:252)
     at weblogic.jms.dispatcher.DispatcherAdapter.dispatchSync(DispatcherAdapter.java:43)
     at weblogic.jms.client.JMSConnection.stop(JMSConnection.java:758)
     - locked <0xffffffff7509a640> (a weblogic.jms.client.JMSConnection)
     at weblogic.jms.client.WLConnectionImpl.stop(WLConnectionImpl.java:722)
     at ConnectorSession.closeJMSSession(ConnectorSession.java:499)
     at ConnectorSession.receiveRequest(ConnectorSession.java:617)
     at ConnectorSession.processRequest(ConnectorSession.java:341)
     at Worker.mainApplication(Worker.java:127)
     at Worker.mainMethod(Worker.java:298)
     at Worker.main(Worker.java:163)
"VM Thread" prio=3 tid=0x000000010039c800 nid=0x10 runnable
"GC task thread#0 (ParallelGC)" prio=3 tid=0x000000010011b000 nid=0x3 runnable
"GC task thread#1 (ParallelGC)" prio=3 tid=0x0000000100121000 nid=0x4 runnable
"GC task thread#2 (ParallelGC)" prio=3 tid=0x0000000100122800 nid=0x5 runnable
"GC task thread#3 (ParallelGC)" prio=3 tid=0x0000000100126000 nid=0x6 runnable
"GC task thread#4 (ParallelGC)" prio=3 tid=0x0000000100127800 nid=0x7 runnable
"GC task thread#5 (ParallelGC)" prio=3 tid=0x0000000100129000 nid=0x8 runnable
"GC task thread#6 (ParallelGC)" prio=3 tid=0x000000010012b000 nid=0x9 runnable
"GC task thread#7 (ParallelGC)" prio=3 tid=0x000000010012c800 nid=0xa runnable
"GC task thread#8 (ParallelGC)" prio=3 tid=0x000000010012e000 nid=0xb runnable
"GC task thread#9 (ParallelGC)" prio=3 tid=0x000000010012f800 nid=0xc runnable
"GC task thread#10 (ParallelGC)" prio=3 tid=0x0000000100131800 nid=0xd runnable
"GC task thread#11 (ParallelGC)" prio=3 tid=0x0000000100133000 nid=0xe runnable
"GC task thread#12 (ParallelGC)" prio=3 tid=0x0000000100134800 nid=0xf runnable
"VM Periodic Task Thread" prio=3 tid=0x00000001003d5800 nid=0x17 waiting on condition
JNI global references: 818

Similar Messages

  • Weblogic jms connection problem

    Hi All,
    My jms bpel process listening on jms Queue. If I deploy bpel process first time I am not getting any jms connection problem with weblogic , but if redploy I am getting jms conneciton problem. saying
    Adapter_start: Jms Adapter started
    <2005-12-07 10:19:20,044> <ERROR> <default.collaxa.cube.activation> <JMSAdapter::Inbound> Error whil
    e creating managed connection:
    <2005-12-07 10:19:20,044> <ERROR> <default.collaxa.cube.activation> <JMSAdapter::Inbound>
    ORABPEL-12141
    ERRJMS_CONN_FAC_NOT_FOUND.
    Unable to instantiate connection factory. JMS adapter was unable to look up the connection factor BP
    ELJMS neither through JNDI nor instantiate it as a Java class
    Please examine the log file to determine the problem.
    at oracle.tip.adapter.jms.JMS.JMSConnectionFactoryFactory.getConnectionFactory(JMSConnection
    FactoryFactory.java:156)
    at oracle.tip.adapter.jms.JMS.JMSConnectionFactoryFactory.getQueueConnectionFactory(JMSConne
    ctionFactoryFactory.java:95)
    at oracle.tip.adapter.jms.JMS.JMSConnection.init(JMSConnection.java:143)
    at oracle.tip.adapter.jms.JMS.JMSConnection.<init>(JMSConnection.java:102)
    at oracle.tip.adapter.jms.JmsManagedConnectionFactory.createConnection(JmsManagedConnectionF
    actory.java:355)
    at oracle.tip.adapter.jms.JmsManagedConnectionFactory.createDefaultConnection(JmsManagedConn
    ectionFactory.java:346)
    at oracle.tip.adapter.jms.JmsManagedConnectionFactory.createConnection(JmsManagedConnectionF
    actory.java:309)
    at oracle.tip.adapter.jms.JmsManagedConnectionFactory.createManagedConnection(JmsManagedConn
    ectionFactory.java:99)
    at com.evermind.server.connector.ApplicationConnectionManager.createManagedConnection(Applic
    ationConnectionManager.java:564)
    at oracle.j2ee.connector.ConnectionPoolImpl.createManagedConnection(ConnectionPoolImpl.java:
    Work around is I need to restart the BPEL server.
    Is there any permanant solution for this, Please suggest.
    Thanks,
    Srini

    srini,
    see this thread
    JMS Connection
    thanks,
    -Ng.

  • CVPN 3005 & 3020 : Remote Access Clients frozen during 60 seconds

    Good morning,
    I'm encoutering an interesting issue on two different CVPN boxes (Cisco VPN 3005 and 3020).
    The thing is, when remote clients connect to the VPN gateway using their Cisco VPN client, then cannot reach any of my LAN hosts for about 60 seconds despite log-in procedure has ran fine.
    Then, after about 60 seconds (sometimes less), connectivity to my network works well.
    While they continuously ping one of my hosts, on the CVPN WebUI, session statistics show 0 in/out encrypted packets.
    TCPDump at the back of the CVPN box shows no packets sent to my network (not even arp or whatever).
    Is there any option I missed on my configuration to disable this annoying freeze time?
    Thanks for helping if any of you has ever solved this.
    Best regards,
    Gaëtan

    I'm not aware of any such setting to sort of put a delay() function on the clients :)
    Try to put the desired Phase 1 profile on the top of the VPNC IKE proposals (Global). Phase 1 Parameters are always negotiated from the global proposals (Regardless of what you put in the Group >>> Ipsec Tab
    Regards
    Farrukh

  • How WebLogic7.0 & 8.1 JMS connect to MSMQ?

              Hi Sir,
              Is it possible that i use WebLogic JMS connect to MSMQ(Microsoft)?
              If it possible, how can i configure/implement ? Do I have to create adapter class
              for MSMQ?
              Thanks
              Yos
              

    You may be able to find a JMS wrapper for MSMQ (search
              google), in which case you can integrate using the same
              methods as for any other JMS vendor.
              Another option is to use the the WL JMS C client
              within a MS program, or even to use "ActiveJMS"
              .net wrapper from sourceforge to wrap WL JMS
              within a MS program.
              Another option is to call into MS (or vice-versa)
              using WL's JCOM feature.
              Another option is to integrate using web services -
              which is the method often pushed by MS.
              "weblogic.developer.interest.webservices"
              Another option is to consult the WLI newsgroup,
              "weblogic.integration.developer" to see if WLI
              has pre-built MSMQ adapters.
              Tom
              Yos wrote:
              > Hi Sir,
              > Is it possible that i use WebLogic JMS connect to MSMQ(Microsoft)?
              > If it possible, how can i configure/implement ? Do I have to create adapter class
              > for MSMQ?
              > Thanks
              > Yos
              

  • Weblogic JMS MessagesMaximum

    Hello! I would like to understand the significance of the MessagesMaximum value setting in the Weblogic JMS Connection factory. What happens if this limit is exceeded? Are the messages rejected?
    Thanks in advance!
    Krish

    Let me explain more on the problem I am facing...
    I have a JMS queue set up within Weblogic with a MessagesMaximum setting of "10". I have an OnMessage() method to consume these messages as they come in. The application code in the onMessage() method accesses some resources over the network, sends email using Java mail API. Sometimes, these operations take a long time to complete and so causes a delay in the completion of the onMessage() method. My question is
    1. When is the message really consumed? When the onMessage() method is invoked? or upon its completion?
    2. What happens when the number of messages exceed 10?
    Thanks,
    Krish

  • Weblogic JMS Client App fails creating queue connection

    Using the example provided from installation: ...\bea\wlserver_10.0\samples\server\examples\src\examples\jms\queue\QueueBrowse.java
    I can successfully connect and display the queue when this test app runs on the local Weblogic Server. When I run the test app on a remote server (not the Weblogic server), I get the following error:
    Exception in thread "main" weblogic.jms.common.JMSException: [JMSClientExceptions:055053]Error creating connection to the server: java.rmi.MarshalException: failed to marshal connectionCreateRequest(Lweblogic.jms.frontend.FEConnectionCreateRequest;); nested exception is:
         java.rmi.UnexpectedException: Failed to parse descriptor file; nested exception is:
         java.lang.NullPointerException
         at weblogic.jms.client.JMSConnectionFactory.setupJMSConnection(JMSConnectionFactory.java:258)
         at weblogic.jms.client.JMSConnectionFactory.createConnectionInternal(JMSConnectionFactory.java:285)
         at weblogic.jms.client.JMSConnectionFactory.createQueueConnection(JMSConnectionFactory.java:165)
         at com.lodestarcorp.custom.QueueBrowse.init(QueueBrowse.java:53)
         at com.lodestarcorp.custom.QueueBrowse.main(QueueBrowse.java:129)
    Caused by: java.rmi.MarshalException: failed to marshal connectionCreateRequest(Lweblogic.jms.frontend.FEConnectionCreateRequest;); nested exception is:
         java.rmi.UnexpectedException: Failed to parse descriptor file; nested exception is:
         java.lang.NullPointerException
         at weblogic.rjvm.BasicOutboundRequest.marshalArgs(BasicOutboundRequest.java:91)
         at weblogic.rmi.cluster.ClusterableRemoteRef.invoke(ClusterableRemoteRef.java:332)
         at weblogic.rmi.cluster.ClusterableRemoteRef.invoke(ClusterableRemoteRef.java:252)
         at weblogic.jms.frontend.FEConnectionFactoryImpl_1001_WLStub.connectionCreateRequest(Unknown Source)
         at weblogic.jms.client.JMSConnectionFactory.setupJMSConnection(JMSConnectionFactory.java:224)
         ... 4 more
    Caused by: java.rmi.UnexpectedException: Failed to parse descriptor file; nested exception is:
         java.lang.NullPointerException
         at weblogic.rmi.internal.DescriptorManager.createRuntimeDescriptor(DescriptorManager.java:118)
         at weblogic.rmi.internal.DescriptorManager.getBasicRuntimeDescriptor(DescriptorManager.java:89)
         at weblogic.rmi.internal.DescriptorManager.getDescriptor(DescriptorManager.java:55)
         at weblogic.rmi.internal.DescriptorManager.getDescriptor(DescriptorManager.java:41)
         at weblogic.rmi.internal.OIDManager.makeServerReference(OIDManager.java:194)
         at weblogic.rmi.internal.OIDManager.getReplacement(OIDManager.java:175)
         at weblogic.rmi.utils.io.RemoteObjectReplacer.replaceSmartStubInfo(RemoteObjectReplacer.java:116)
         at weblogic.rmi.utils.io.RemoteObjectReplacer.replaceObject(RemoteObjectReplacer.java:102)
         at weblogic.rmi.utils.io.InteropObjectReplacer.replaceObject(InteropObjectReplacer.java:62)
         at weblogic.utils.io.ChunkedObjectOutputStream.replaceObject(ChunkedObjectOutputStream.java:40)
         at weblogic.utils.io.ChunkedObjectOutputStream$NestedObjectOutputStream.replaceObject(ChunkedObjectOutputStream.java:141)
         at java.io.ObjectOutputStream.writeObject0(Unknown Source)
         at java.io.ObjectOutputStream.writeObject(Unknown Source)
         at weblogic.messaging.dispatcher.DispatcherWrapper.writeExternal(DispatcherWrapper.java:152)
         at weblogic.jms.frontend.FEConnectionCreateRequest.writeExternal(FEConnectionCreateRequest.java:98)
         at java.io.ObjectOutputStream.writeExternalData(Unknown Source)
         at java.io.ObjectOutputStream.writeOrdinaryObject(Unknown Source)
         at java.io.ObjectOutputStream.writeObject0(Unknown Source)
         at java.io.ObjectOutputStream.writeObject(Unknown Source)
         at weblogic.rjvm.MsgAbbrevOutputStream.writeObject(MsgAbbrevOutputStream.java:614)
         at weblogic.rjvm.MsgAbbrevOutputStream.writeObjectWL(MsgAbbrevOutputStream.java:605)
         at weblogic.rmi.internal.ObjectIO.writeObject(ObjectIO.java:38)
         at weblogic.rjvm.BasicOutboundRequest.marshalArgs(BasicOutboundRequest.java:87)
         ... 8 more
    Caused by: java.lang.NullPointerException
         at weblogic.rmi.internal.BasicRuntimeDescriptor.createSkeletonClass(BasicRuntimeDescriptor.java:272)
         at weblogic.rmi.internal.BasicRuntimeDescriptor.<init>(BasicRuntimeDescriptor.java:158)
         at weblogic.rmi.internal.BasicRuntimeDescriptor.<init>(BasicRuntimeDescriptor.java:140)
         at weblogic.rmi.internal.DescriptorManager.createRuntimeDescriptor(DescriptorManager.java:110)
         ... 30 more
    FYI: I did create the wlfullclient.jar from the installation.
    Could the problem be related to a proxy issue? It's not a DNS problem (I've tested with the IP address).
    Thanks,
    Brian

    I had this very same issue, in a project I was importing directly individual jars:
         <classpathentry kind="lib" path="lib/javax.jms_1.1.1.jar"/>
         <classpathentry kind="lib" path="lib/weblogic.jar"/>
         <classpathentry kind="lib" path="lib/com.bea.core.weblogic.security.identity_1.1.2.1.jar"/>
         <classpathentry kind="lib" path="lib/com.bea.core.weblogic.workmanager_1.9.0.0.jar"/>
         <classpathentry kind="lib" path="lib/com.bea.core.weblogic.workmanager.ja_1.9.0.0.jar"/>
         <classpathentry kind="lib" path="lib/com.bea.core.transaction_2.7.0.0.jar"/>
         <classpathentry kind="lib" path="lib/com.bea.core.weblogic.rmi.client.ja_1.8.0.0.jar"/>
         <classpathentry kind="lib" path="lib/com.bea.core.weblogic.rmi.client_1.8.0.0.jar"/>
         <classpathentry kind="lib" path="lib/com.bea.core.weblogic.security.wls_1.0.0.0_6-1-0-0.jar"/>
         <classpathentry kind="lib" path="lib/com.bea.core.utils.full_1.9.0.0.jar"/>
         <classpathentry kind="lib" path="lib/com.bea.core.weblogic.security_1.0.0.0_6-1-0-0.jar"/>
         <classpathentry kind="lib" path="lib/wlclient.jar"/>
         <classpathentry kind="lib" path="lib/com.bea.core.utils.classloaders_1.8.0.0.jar"/>
         <classpathentry kind="lib" path="lib/com.bea.core.management.core_2.8.0.0.jar"/>
         <classpathentry kind="lib" path="lib/com.bea.core.descriptor_1.9.0.0.jar"/>
         <classpathentry kind="lib" path="lib/com.bea.core.logging_1.8.0.0.jar"/>
         <classpathentry kind="lib" path="lib/com.bea.core.timers_1.7.0.0.jar"/>
         <classpathentry kind="lib" path="lib/com.bea.core.weblogic.socket.api_1.2.0.0.jar"/>
         <classpathentry kind="lib" path="lib/com.bea.core.weblogic.security.digest_1.0.0.0.jar"/>
         <classpathentry kind="lib" path="lib/com.bea.core.weblogic.lifecycle_1.4.0.0.jar"/>
         <classpathentry kind="lib" path="lib/com.bea.core.store_1.7.0.0.jar"/>
         <classpathentry kind="lib" path="lib/com.bea.core.common.security.api_1.0.0.0_6-1-0-0.jar"/>
         <classpathentry kind="lib" path="lib/com.bea.core.utils.wrapper_1.4.0.0.jar"/>
         <classpathentry kind="lib" path="lib/com.bea.core.messaging.kernel_1.8.0.0.jar"/>
         <classpathentry kind="lib" path="lib/com.bea.core.utils.expressions_1.4.0.0.jar"/>
    and everything was working;
    in another project I was importing the "Weblogic System Libraries" libraries, and I was getting the NullPointerException...
    I have the sensation that there is room for improvement in the way libraries are managed.

  • Weblogic JMS Channel/client connection configuration

    Hi,
    I experience Weblogic to use about 10 channels for each Queue Connection Factory (QCF), is there a way to configure it to use less?
    We had to configure MQ to have 500 Maxchannels instead of default 100.
    Is there a way to configure Weblogic JMS to use less than 10 per QCF? What is recommended to use?
    Regards,
    reZer

    Hi,
    I experience Weblogic to use about 10 channels for each Queue Connection Factory (QCF), is there a way to configure it to use less?
    We had to configure MQ to have 500 Maxchannels instead of default 100.
    Is there a way to configure Weblogic JMS to use less than 10 per QCF? What is recommended to use?
    Regards,
    reZer

  • Inconsistent message publishing times through weblogic JMS client

    Hi,
    We have a weblogic JMS application which we are deploying in a clustered weblogic enviornment. We are using distributed queues/topics with file store. We have both JMS cliient and server running on separate weblogic clusters. Most of the times it will take about 10 milli seconds to push the message into queue, but 1 in 50 messages takes about anywhere between 0.2 sec to 6 secs. Recently for three days it just took 10 msec for all the messages throught these three days and then started behaving erratically again. I am not able to really figure out why there is lot of deviation in the publishing times. When I monitor both my client and server through admin consiole, I don't see any stuck threads, heap size is normal, cpu load is normal, no problems with network. Please help me to figure out the root cause for abnormal publishing times.
    Regards
    Koti

    Could you check if there are JVM garbage collections during some the publishing times.
    In particular check if there are any full garbage collection occuring when you notice such a deviation in the publishing time.

  • Connect from Weblogic JMS queue to SAP WAS JMS queue

    Hi,
    I am trying to setup a WLS 8.1 messaging bridge between a weblogic JMS queue and a SAP WAS JMS queue. I have configured a queue on both Weblogic and SAP WAS and I have set up the messaging bridge and bridge destintations in weblogic. However when weblogic tries to get the SAP initial context factory it fails with the error below.
    I have added the SAP Client jars to the weblogic system classpath, and in the weblogic startup script but it still fails. Has anyone connected from an external JMS queue to a SAP WAS JMS queue that could provide me with some guidence?
    <10/08/2006 08:23:45 AM WST> <Warning> <Connector> <BEA-190032> << Weblogic Mess
    aging Bridge Adapter (XA)_eis/jms/WLSConnectionFactoryJNDIXA > ResourceAllocatio
    nException of javax.resource.ResourceException: ConnectionFactory: failed to get
    initial context (InitialContextFactory =com.sap.engine.services.jndi.InitialCon
    textFactoryImpl, url = ux0800:55304, user name = username) on createManagedConnectio
    n.>
    Thanks
    Warren

    Stoyan,
    Thanks for that.
    My problem ended up being a classpath problem. I referenced the directory of the SAP jars in the weblogic start up script. When I changed this to reference each jar individually it worked.
    I have a new issue now which may have something to do with security. The trace suggests it is logging on as the guest user, even though I entered my username and password in the Messaging bridge.
    #1.5#000E7FED310600A30000008A0000302D00041AA399E338B4#1155189870559#com.sap.jms##com.sap.jms.server.sessioncontainer.InboundBus instance=BWIP#J2EE_GUEST#0####165536f0283611db8903000e7fed3106#SAPEngine_Application_Thread[impl:3]_126##0#0#Error##Plain###com.sap.jms.server.exception.JMSServerInvalidDestinationException: No destination with ID=0 found.
            at com.sap.jms.server.service.impl.RegistryServiceImpl.getDestinationContext(RegistryServiceImpl.java:404)
            at com.sap.jms.server.sessioncontainer.InboundBus.getDestinationContext(InboundBus.java:98)
            at com.sap.jms.server.sessioncontainer.InboundBus.process(InboundBus.java:153)
            at com.sap.jms.server.sessioncontainer.InboundBus.enqueue(InboundBus.java:116)
            at com.sap.jms.server.sessioncontainer.SessionContainer.receiveFromDispatcher(SessionContainer.java:63)
            at com.sap.jms.server.routingcontainer.RoutingContainer.receiveFromDispatcher(RoutingContainer.java:447)
            at com.sap.jms.server.JMSServerContainer.dispatchRequest(JMSServerContainer.java:635)
            at com.sap.jms.server.JMSServerFrame.request(JMSServerFrame.java:536)
            at com.sap.engine.core.service630.context.cluster.session.ApplicationSessionMessageListener.process(ApplicationSessionMessageListener.java:33)
            at com.sap.engine.core.cluster.impl6.session.MessageRunner.run(MessageRunner.java:41)
            at com.sap.engine.core.thread.impl3.ActionObject.run(ActionObject.java:37)
            at java.security.AccessController.doPrivileged(Native Method)
            at com.sap.engine.core.thread.impl3.SingleThread.execute(SingleThread.java:100)
            at com.sap.engine.core.thread.impl3.SingleThread.run(SingleThread.java:170)
    Warren

  • Weblogic 10.3 not suporting for MDB to connect remote Weblogic JMS server

    Hi,
    I have a problem with MDB deployed on Weblogic 10.3.It's simple MDB which is communicating with remote weblogic JMS server. I am getting below exception. could some one help how to resolve this issue.
    <Apr 14, 2009 11:28:52 AM PDT> <Warning> <EJB> <BEA-010061> <The Message-Driven EJB: ReceiverFromDocumentum is unable to con
    nect to the JMS destination: FMAContractOutboundQueue. The Error was:
    [EJB:011013]The Message-Driven EJB attempted to connect to the JMS connection factory with the JNDI name: FMAConnectionFacto
    ry. However, the object with the JNDI name: FMAConnectionFactory is not a JMS connection factory. NestedException Message is
    :weblogic.jms.client.JMSConnectionFactory cannot be cast to javax.jms.XAConnectionFactory>
    -Sreekanth

    I recall that this particular warning message is sometimes misleading about the root cause of the problem, an issue that I think has been fixed in a patch. The actual problem can be various:
    * The MDB is configured to be transactional, the connection factory exists, but the connection factory isn't configured to be "XA enabled". (I think this is the most likely problem).
    * The connection factory doesn't exist.
    * The object in JNDI with the specified connection factory name isn't actually a connection factory.
    * The dest object in JNDI with the specified name isn't actually a javax.jms.Destination
    Note that its unusual to configure the connection factory name for an MDB that consumes from WebLogic JMS. The default name iis usually sufficient unless custom tuning is required on the connection factory. See the MDB section of the EJB developer guide for more information.
    Tom

  • Why do JMS connections stay connected after Flex clients close?

    Hello,
    I am using AMF_Polling and the JMS Adapter to receive discardable messages on a topic from Fiorano JMS.  It works very well except for one thing.  When the Flex client goes away because the browser closed, the JMS connection to FIorano is still there. It seems to stay there for a very long time and may never timeout and go away.
    Questions:
    1. Is this normal behavior for the JMS adapter?
    2. Is there a way to force these unused connections to close  between the JMS server and the Flex JMS adapter?
    3. Is the JMS adapter continuing to receive messages after the Flex client goes away?
    4. If so, are messages stacking up in memory which will eventually fill up and cause problems?
    Thanks,
    Chris Shafer, George Weiss Associates

    To answer the question about the forwarding of messages from one queue to another myself: As mentioned at http://forums.bea.com/thread.jspa?threadID=400000611, the forwarding for queues does only work if all queue consumers are attached to the same queue. This means that our setup is OK.
    But the main question is still unanswered: why do the number of active JMS connections increase? I forgot to mention that
    - all messages arrive at the clients and that no exceptions are visible in the log
    - if you kill the client, the connections are still visible in the Weblogic console!?
    Please help as this problem is very urgent.
    Peter
    Edited by: pkeller on 24.10.2008 09:06
    Edited by: pkeller on 24.10.2008 09:10

  • Does weblogic automatically pools Foreign JMS Connections ?

    I cofigured MQ Series connection factories and queues in my weblogic using Foreign JNDI provider feature.
    I am sending messages to MQ using common JMS approach
         public void sendMessage(List lnTransactionList) throws JMSException {
              XAQueueConnection conn = null;
              try {
                   conn = mqConnectionFactory.createXAQueueConnection("", "");
                   QueueSession session = conn.createQueueSession(false,
                             Session.AUTO_ACKNOWLEDGE);
                   TextMessage message = session.createTextMessage();
                   sender.send(message);
              } catch (JMSException ex) {
                   throw ex;
              } finally {
                   conn.close();
    I know that by default weblogic does some pooling for JMS connections and sessions.
    Does it work for third-party JMS Connections ?
    I checked class names for XAQueueConnection, QueueSession, Queue that weblogic returns for my MQ JNDI objects.
    All of them are from IBM libraries.
    So I think that default pooling doesn`t work in this case.

    Yes, third party pooling is supported and heavily leveraged. JMS resources are automatically pooled when a JMS connection factory is accessed via a standard EJB or Servlet "resource reference" (it is not enough simply to specify a foreign JMS server mapping). You can verify pooling is working by monitoring the stats on the foreign vendor itself, or by monitoring the pool Stats.
    Similar to WebLogic JDBC connection pools, pooled JMS resources still implement all of the public interfaces of a foreign vendor and redirect method invocations on these interfaces to the underlying class. This includes proprietary interfaces.
    Doc links:
    Pooling/Wrapping/Res-Refs:
    http://download.oracle.com/docs/cd/E15523_01/web.1111/e13727/j2ee.htm#g1329180
    FAQ entry on same:
    http://download.oracle.com/docs/cd/E15523_01/web.1111/e13727/interop.htm#i1009836
    Tom

  • Failed to lookup connection factory weblogic.jms.XAConnectionFactory

    when i deploy any service with jms protocol (write to queue) using sbconsole i face this error
    "Failed to lookup connection factory weblogic.jms.XAConnectionFactory"
    any suggestion?
    Thanks

    weblogic.jms.XAConnectionFactory is the default XA connection factory class. You wont see this in any JMS modules in Weblogic server. It should be available by default.
    Can you once check the JNDI tree of your servers if this JNDI name exists. (in Weblogic Administration console go to Servers, click on any server and there will be a link for JNDI tree on the server's page)
    Also, try creating a new connection factory in Weblogic console and using that in your service. Although it is highly unlikely that a new connection factory will work since all custom XA connection factories are dependent on the default connection factory class you mentioned.

  • I forgot my passcode, so I was unable to access my phone. I then tried to restore it, but it has frozen during the process. It won't connect to my mac again and I can't stop the process because my lock button is broken. What do I do?

    I forgot my passcode, so I was unable to access my phone. I then tried to restore it, but it has frozen during the process. It won't connect to my mac again and I can't stop the process because my lock button is broken. What do I do?

    My first advice is "Back up the device, then have it replaced."  Second item of advice, "Don't forget your passcode."
    One of the purposes of the lock button is to recover from certain software failures.  Without the lock button, such a recovery is nearly impossible.  My advice would have served you best when the malfuction first developed, not after you forgot your passcode.

  • Change the weblogic default jms connection factory

    Hello!
    Is possible to change the JMS Default Connection Factory (weblogic.jms.ConnectionFactory) in Weblogic?
    It doesn't appears on Admin console. Is possible to access it through WLST? I can 't find it on MBean tree (domain an server config).
    I want to change some Flow Control settings. I know I can create a new Connection Factory, but I don't want to change my application code uses teh default CF jndi name.
    regards.

    There's no way to change the default connection factory tuning. If you need to tune a CF setting for an app that's using a default CF, then tuning is accomplished using the steps you mentioned: (A) configuring a custom connection factory, and (B) changing apps that need specialized tuning to refer to the JNDI name of the custom connection factory.
    It's often helpful to use "Foreign JMS" to enable changing an app's CF without changing the app. See http://docs.oracle.com/cd/E21764_01/web.1111/e13727/interop.htm#i1009775
    HTH,
    Tom Barnes
    WebLogic Messaging Development Team

Maybe you are looking for