Deadlocks & Toplink in a cluster

We need to cluster a very critical 7x24 app for both scalability and failover.
Given that the performance of synchrous commits to a distributed cache (on a cluster) isn't recommended the only way to run a cluster of weblogic app servers seems to eliminate the use of an identity map. We are pinning most, if not all of the operational data in ram on the oracle db server to improve performance to compensate for the absence of a toplink cache.
Has anyone run toplink in a cluster ??? If so what toplink configurations were used.
Is there a possiblity of a deadlock if indirection is used with no identity map. I've read that some deadlock detection algorithms were added with version 9.0.x. Will these work in the absence of an identity map

TopLink's cache-sync using JMS is documented at:
http://download-east.oracle.com/docs/cd/A97688_12/toplink.903/b10064/enterpri.htm#1022229
This shows examples of using sessions.xml and Java API to configure the use of JMS. You will need to configure your JMS to operate in your application server cluster. This will involve you following the instructions of your JMS to create a connection factory and topic that TopLink can make use of.
One note of caution about using cache-sync in general though. It does not eliminate concurrency issues and it does not prevent stale data. It minimizes the chance of stale data and is typically most efficient in systems with a small percentage of writes compared to read operations.
You will need to build your application taking concurrency into effect. This will involve setting up locking (typically optimistic locking) on all concurrently accessed types and also ensuring that the commit of UnitOfWork will catch all locking failure exceptions and handle them correctly.
If you are building a system with a larger (> 15%) percentage of writes you will probably not want to use cache-sync and may be more interested in proper cache configuration (use WeakIdentityMap for volatile data) and using possibly using refresh on queries in critical sections of the application's code. You will still require locking for these configurations as well.
Doug

Similar Messages

  • Toplink in a cluster architecture

    Hi,
    I'm trying to integrate TopLink in a clustered application server architecture (EJB + Servlet) with dynamic memory sharing for HTTP session synchronisation using Datasources for access to the DB.
    The DB should also be clustered (this is not sure and will be decided at a later point but should not have any bearing on the configuration of TopLink).
    I have only found some very vague information about clustering the cache of TopLink.
    Can anyone give me more information about how it works, how to parameter it and the does and don'ts?
    Thank you

    TopLink's cache-sync using JMS is documented at:
    http://download-east.oracle.com/docs/cd/A97688_12/toplink.903/b10064/enterpri.htm#1022229
    This shows examples of using sessions.xml and Java API to configure the use of JMS. You will need to configure your JMS to operate in your application server cluster. This will involve you following the instructions of your JMS to create a connection factory and topic that TopLink can make use of.
    One note of caution about using cache-sync in general though. It does not eliminate concurrency issues and it does not prevent stale data. It minimizes the chance of stale data and is typically most efficient in systems with a small percentage of writes compared to read operations.
    You will need to build your application taking concurrency into effect. This will involve setting up locking (typically optimistic locking) on all concurrently accessed types and also ensuring that the commit of UnitOfWork will catch all locking failure exceptions and handle them correctly.
    If you are building a system with a larger (> 15%) percentage of writes you will probably not want to use cache-sync and may be more interested in proper cache configuration (use WeakIdentityMap for volatile data) and using possibly using refresh on queries in critical sections of the application's code. You will still require locking for these configurations as well.
    Doug

  • Deadlock in TopLink when using JMS listener on WebLogic

    I am experiencing a deadlock in TopLink 10.1.3 on WebLogic 9 in code that previously worked on TopLink 9.0.4 with WebLogic 8.1. As such, I'm not sure if it's due to the TopLink change, the WebLogic change or both. Anyway, we have a JMS listener (note, NOT a MessageDrivenBean) that is updating an existing TopLink cached domaing object. The JMS listener thread gets stuck when attempting to commit the transaction. The thread-dump shows that there is another thread which is blocked in the ConcurrencyManager waiting to obtain the lock on an object which is being updated by the listener thread. It appears to me that the root cause is that the Synchronization.afterCompletion() listener is running on a different thread than the one which owns the locks which were obtained beforeCompletion.
    See stack traces.
    First, the message listener thread which is waiting for participants in the transaction to commit:
    "[ACTIVE] ExecuteThread: '0' for queue: 'weblogic.kernel.Default (self-tuning)'" daemon prio=9 tid=0x3a4a4728 nid=0xa48 in Object.wait() [0x3a0cf000..0x3a0cfbec]
         at java.lang.Object.wait(Native Method)
         - waiting on <0x0c7a0908> (a weblogic.transaction.internal.ServerTransactionImpl)
         at weblogic.transaction.internal.ServerTransactionImpl.globalRetryCommit(ServerTransactionImpl.java:2665)
         - locked <0x0c7a0908> (a weblogic.transaction.internal.ServerTransactionImpl)
         at weblogic.transaction.internal.ServerTransactionImpl.globalCommit(ServerTransactionImpl.java:2570)
         at weblogic.transaction.internal.ServerTransactionImpl.internalCommit(ServerTransactionImpl.java:277)
         at weblogic.transaction.internal.ServerTransactionImpl.commit(ServerTransactionImpl.java:226)
         at weblogic.ejb.container.internal.BaseEJBObject.postInvoke1(BaseEJBObject.java:539)
         at weblogic.ejb.container.internal.StatelessEJBObject.postInvoke1(StatelessEJBObject.java:72)
         at weblogic.ejb.container.internal.BaseEJBObject.postInvokeTxRetry(BaseEJBObject.java:374)
         at com.avinamart.BusinessLogic.Bean.JobService.JobService_u1ylwo_EOImpl.submitJobAndRun(JobService_u1ylwo_EOImpl.java:1388)
         at com.avinamart.Framework.Event.Task.OptimizationTaskListener._submitAsAJob(OptimizationTaskListener.java:253)
         at com.avinamart.Framework.Event.Task.OptimizationTaskListener._submitAsAJob(OptimizationTaskListener.java:217)
         at com.avinamart.Framework.Event.Task.OptimizationTaskListener.processMessage(OptimizationTaskListener.java:344)
         at com.emptoris.base.event.EPASSMessageBaseListener.onMessage(EPASSMessageBaseListener.java:722)
         at weblogic.jms.client.JMSSession.onMessage(JMSSession.java:3824)
         at weblogic.jms.client.JMSSession.execute(JMSSession.java:3738)
         at weblogic.jms.client.JMSSession.pushMessage(JMSSession.java:3253)
         at weblogic.jms.client.JMSSession.invoke(JMSSession.java:4195)
         at weblogic.messaging.dispatcher.Request.wrappedFiniteStateMachine(Request.java:674)
         at weblogic.messaging.dispatcher.DispatcherServerRef.invoke(DispatcherServerRef.java:262)
         at weblogic.messaging.dispatcher.DispatcherServerRef.handleRequest(DispatcherServerRef.java:134)
         at weblogic.messaging.dispatcher.DispatcherServerRef.access$000(DispatcherServerRef.java:36)
         at weblogic.messaging.dispatcher.DispatcherServerRef$1.run(DispatcherServerRef.java:105)
         at weblogic.work.ExecuteThread.execute(ExecuteThread.java:207)
         at weblogic.work.ExecuteThread.run(ExecuteThread.java:179)
    Next, the other thread which is participating in the transaction which is stuck:
    "[ACTIVE] ExecuteThread: '2' for queue: 'weblogic.kernel.Default (self-tuning)'" daemon prio=5 tid=0x3adb80a0 nid=0xb30 in Object.wait() [0x3c7af000..0x3c7afd6c]
         at java.lang.Object.wait(Native Method)
         - waiting on <0x0c7a0000> (a oracle.toplink.internal.helper.ConcurrencyManager)
         at java.lang.Object.wait(Object.java:474)
         at oracle.toplink.internal.helper.ConcurrencyManager.acquire(ConcurrencyManager.java:76)
         - locked <0x0c7a0000> (a oracle.toplink.internal.helper.ConcurrencyManager)
         at oracle.toplink.internal.identitymaps.CacheKey.acquire(CacheKey.java:80)
         at oracle.toplink.internal.identitymaps.FullIdentityMap.remove(FullIdentityMap.java:164)
         at oracle.toplink.internal.identitymaps.HardCacheWeakIdentityMap.remove(HardCacheWeakIdentityMap.java:82)
         at oracle.toplink.internal.helper.WriteLockManager.releaseAllAcquiredLocks(WriteLockManager.java:363)
         at oracle.toplink.publicinterface.UnitOfWork.afterTransaction(UnitOfWork.java:2123)
         at oracle.toplink.transaction.AbstractSynchronizationListener.afterCompletion(AbstractSynchronizationListener.java:135)
         at oracle.toplink.transaction.JTASynchronizationListener.afterCompletion(JTASynchronizationListener.java:66)
         at weblogic.transaction.internal.ServerSCInfo.callAfterCompletions(ServerSCInfo.java:862)
         at weblogic.transaction.internal.ServerTransactionImpl.callAfterCompletions(ServerTransactionImpl.java:2913)
         at weblogic.transaction.internal.ServerTransactionImpl.afterCommittedStateHousekeeping(ServerTransactionImpl.java:2806)
         at weblogic.transaction.internal.ServerTransactionImpl.setCommittedUnsync(ServerTransactionImpl.java:2857)
         at weblogic.transaction.internal.ServerTransactionImpl.ackCommit(ServerTransactionImpl.java:1097)
         - locked <0x0c7a0908> (a weblogic.transaction.internal.ServerTransactionImpl)
         at weblogic.transaction.internal.CoordinatorImpl.ackCommit(CoordinatorImpl.java:211)
         at weblogic.transaction.internal.CoordinatorImpl_WLSkel.invoke(Unknown Source)
         at weblogic.rmi.internal.BasicServerRef.invoke(BasicServerRef.java:517)
         at weblogic.rmi.internal.BasicServerRef$1.run(BasicServerRef.java:407)
         at weblogic.security.acl.internal.AuthenticatedSubject.doAs(AuthenticatedSubject.java:363)
         at weblogic.security.service.SecurityManager.runAs(SecurityManager.java:147)
         at weblogic.rmi.internal.BasicServerRef.handleRequest(BasicServerRef.java:403)
         at weblogic.rmi.internal.BasicServerRef.access$300(BasicServerRef.java:56)
         at weblogic.rmi.internal.BasicServerRef$BasicExecuteRequest.run(BasicServerRef.java:934)
         at weblogic.work.ExecuteThread.execute(ExecuteThread.java:207)
         at weblogic.work.ExecuteThread.run(ExecuteThread.java:179)
    Is this the same concurrency bug which was fixed in 10.1.3.1??? As I am writing this, I am attempting to build the application with the updated TopLink jar to test for myself. Has anyone else seen this scenario with WebLogic? I should also point out that the problem only occurs when the listener is running on a separate server than the one hosting the JMS queue it reads from. It may be that when the listener runs on the same server, it does not use multiple threads in the transaction.
    Any ideas are greatly appreciated.
    - Bruno

    We've got the same kind of issue with toplink 10.1.3.0.0 and bea weblogic 8.1 SP5.
    I 've not tried with 10.1.3.1.0, did you?
    Do you have a new status for this issue.
    Chris

  • Deploying a TopLink based app in a 9iAS cluster

    Hi,
    I need to deploy J2EE application written using TopLink in Oracle 9iAS clusters. The software versions I am using are:
    9iAS 9.0.3 or 9.0.4 (to be decided)
    TopLink 9.0.3.4
    One customer has 2 RHES 2.1 app servers and another has 3 Solaris 8 on SPARC app servers.
    I think I will need to use TopLink's distributed cache synchronization feature to keep the caches on the different app servers consistent.
    Has anyone used TopLink with a 9iAS cluster? Any gotchas or recommendations?
    What is the best clustering service to use for distributed cache synchronization? RMIClusteringService, RMIJNDIClusteringService or JMSClusteringService. From what I have read it seems that using JMS would not work very well with 9iAS 9.0.3 because the only JMS that 9.0.3 supports is based on Oracle AQ in the database, which I would expect not to perform very well in this situation. Would the new lightweight JMS implementation in 9.0.4 be any better? Am I correct in thinking that I would need an dedicated OC4J instance just for JMS?
    Thanks,
    Francis

              Tron,
              Check out the document at $(WL_HOME)/doc/index.html. It has a section titled "Modify
              a Resource Adapter for Deployment in the WebLogic Server Environment", which specifically
              talks about how to make an existing resource adapter work under WLS.
              As for the weblogic-xxx.xml, you can take the one in BlackBoxNoTx.rar and modify
              it for you resource adapter. For the beans, take a look at the one under $(WL_HOME)/samples/connector/ejb/basic/beanManaged.
              Hope it helps.
              Yongtao
              [email protected]
              "Tron Hvaring" <[email protected]> wrote:
              >
              >Hi all,
              >
              >New guy in the room -- with a working connector,
              >an EJB to access it, a servlet to start the EJB
              >and a Web page to start the servlet. This setup
              >works perfectly well under Sun's RI. I'm now
              >ready to deploy it in the real world, i.e. I
              >want to deploy it all under WLS 6.0 SP1, where
              >I've installed the JCA Beta 2 support package
              >and EJB 2.0. I'm running WLS on an AIX
              >box (4.3.3).
              >
              >The various weblogic-xxx.xml files needed are a bit
              >daunting at first sight. Is there a simple cookbook
              >style recipe for what I have to do? I'm concerned
              >about JNDI names and mappings thereof, which I find
              >a trifle confusing in WLS as compared to the Sun RI.
              >
              >Any help, suggestions, samples appreciated.
              >
              >Regards,
              >Tron
              >
              

  • Toplink in Cluster without Cache Synchronization

    Hello,
    I’m trying to setup my J2EE app that uses Toplink for its persistence in a 9iAS cluster. For the first release I’m not planning to use Toplink Cache synchronization but planning to deploy the app in 9iAS cluster of nodes say A and B. By default all the requests goes to one app server (say A) in the cluster. When the app in node A goes down app in node B starts and accepts all the requests transparently. For this scenario:
    1.     Do I need to use any Toplink feature/API?
    2.     What design considerations I need to consider for my app so that I can achieve my short-term goal and the long-term goal of implementing Cache synchronization easily?
    Any references/pointers would help me.
    Thanks
    -Mani

    TopLink Cache Coordination (Synchronization) can be enabled at any point during your development. And is not required on a system running in a cluster. No special TopLink API's are required when running in the cluster.
    There should be no design decisions made now that would affect the use of Cache Coordination (Synchronization) in the future.
    --Gordon

  • Cluster resource SID.WORLD' (resource type '', DLL 'fsresodbs.dll') either crashed or deadlocked.

    Dear Friends,
    We are facing issue with our systems which is running on win2008 with oracle DB this is MSCS environment.
    Automatically some resource moved to node2 from node1 and database went down, in fail safe cluster management i can see error as below.
    Cluster resource 'SID.WORLD' (resource type '', DLL 'fsresodbs.dll') either crashed or deadlocked. The Resource Hosting Subsystem (RHS) process will now attempt to terminate, and the resource will be marked to run in a separate monitor.
    And
    The cluster resource host subsystem (RHS) stopped unexpectedly. An attempt will be made to restart it. This is usually due to a problem in a resource DLL. Please determine which resource DLL is causing the issue and report the problem to the resource vendor.
    Kindly help us to solve this issue.
    Thanks
    Basis

    Hi Deepak,
    Thanks for providing the link.
    I have seen the link and symptoms are same,  but only difference is, this link is talking about clusres.dll'  and we have issue with fsresodbs.dll'
    Our issue
    Cluster resource 'SID.WORLD' (resource type '', DLL 'fsresodbs.dll''') either crashed or deadlocked.
    and issue described in the Link
    Cluster resource 'SID.WORLD' (resource type '', DLL 'clusres.dll'') either crashed or deadlocked.
    Kindly guide.
    Thanks
    Basis

  • Cluster config. - toplink cache

    hi all!
    A simple question...
    I've built an application using ADF and toplink.
    Actually the application runs on a single IAS.
    now, for load reasons, i'll need to migrate to a cluster configuration.
    Is there any kind of problem with the toplink cache?
    Thanks.
    Luca

    hi all!
    A simple question...
    I've built an application using ADF and toplink.
    Actually the application runs on a single IAS.
    now, for load reasons, i'll need to migrate to a cluster configuration.
    Is there any kind of problem with the toplink cache?
    Thanks.
    Luca

  • Keeping the toplink cache insync across a cluster

    We would like to deploy our application across a cluster of 10g application servers and we are using toplink as our persistence framework using POJO's. I have been looking around and I have been unable to find anything very helpful on how to setup toplink to be able to keep the cache in sync across the cluster. Has anyone does this on 10g with POJO's? If so can you please point me to an example or a good piece of documentation?
    Thanks
    Marc

    The documentation on Cache synch can be found starting on page 8-3 on the 10g (9.0.4) release.

  • Toplink Cache issues in Cluster

    Hi
    Our production environment is have a clustered environment and we have been noticing the following problem. When a user is trying to save a record she repeatedly encounters the "Toplink-5006" exception that I have included below.
    TopLink Error]: 2006.07.19 04:49:23.359--UnitOfWork(115148745)--null--Exception [TOPLINK-5006] (TopLink (WLS CMP) - 10g (9.0.4.2) (Build 040311)): oracle.toplink.exceptions.OptimisticLockException
    Exception Description: The object [[email protected]ce459] cannot be updated because it has changed or been deleted since it was last read.
    Class> com.rhii.mjplus.fo.people.beans.People_z2e2a7__TopLink_CMP_2_0 Primary Key> [1001280937, 0]
    [TopLink Error]: 2006.07.19 04:49:23.359--UnitOfWork(115148745)--null--Exception [TOPLINK-5006] (TopLink (WLS CMP) - 10g (9.0.4.2) (Build 040311)): oracle.toplink.exceptions.OptimisticLockException
    Exception Description: The object [[email protected]ce459] cannot be updated because it has changed or been deleted since it was last read.
    Class> com.rhii.mjplus.fo.people.beans.People_z2e2a7__TopLink_CMP_2_0 Primary Key> [1001280937, 0]
    <Jul 19, 2006 4:49:23 PM PDT> <Error> <EJB> <BEA-010026> <Exception occurred during commit of transaction Name=[EJB com.rhii.mjplus.fo.people.beans.PeopleManagerBean.setPeople(java.util.HashMap,java.lang.String,java.lang.String,java.lang.String,java.util.HashSet,com.rhii.mjplus.common.login.data.UserInfoDO)],Xid=BEA1-795A6481D2E1938A8EAD(115171166),Status=Rolled back. [Reason=Exception [TOPLINK-5006] (TopLink (WLS CMP) - 10g (9.0.4.2) (Build 040311)): oracle.toplink.exceptions.OptimisticLockException
    Exception Description: The object [[email protected]ce459] cannot be updated because it has changed or been deleted since it was last read.
    Class> com.rhii.mjplus.fo.people.beans.People_z2e2a7__TopLink_CMP_2_0 Primary Key> [1001280937, 0]],numRepliesOwedMe=0,numRepliesOwedOthers=0,seconds since begin=0,seconds left=60,XAServerResourceInfo[weblogic.jdbc.wrapper.JTSXAResourceImpl]=(ServerResourceInfo[weblogic.jdbc.wrapper.JTSXAResourceImpl]=(state=rolledback,assigned=MS15_mjp),xar=weblogic.jdbc.wrapper.JTSXAResourceImpl@6dcf50b),SCInfo[mjp+MS15_mjp]=(state=rolledback),properties=({weblogic.transaction.name=[EJB com.rhii.mjplus.fo.people.beans.PeopleManagerBean.setPeople(java.util.HashMap,java.lang.String,java.lang.String,java.lang.String,java.util.HashSet,com.rhii.mjplus.common.login.data.UserInfoDO)], weblogic.jdbc=t3://10.253.129.56:2323}),OwnerTransactionManager=ServerTM[ServerCoordinatorDescriptor=(CoordinatorURL=MS15_mjp+10.253.129.56:2323+mjp+t3+, XAResources={},NonXAResources={})],CoordinatorURL=MS15_mjp+10.253.129.56:2323+mjp+t3+): Local Exception Stack:
    Exception [TOPLINK-5006] (TopLink (WLS CMP) - 10g (9.0.4.2) (Build 040311)): oracle.toplink.exceptions.OptimisticLockException
    Exception Description: The object [[email protected]ce459] cannot be updated because it has changed or been deleted since it was last read.
    Class> com.rhii.mjplus.fo.people.beans.People_z2e2a7__TopLink_CMP_2_0 Primary Key> [1001280937, 0]
         at oracle.toplink.exceptions.OptimisticLockException.objectChangedSinceLastReadWhenUpdating(Ljava/lang/Object;Loracle/toplink/queryframework/ObjectLevelModifyQuery;)Loracle/toplink/exceptions/OptimisticLockException;(OptimisticLockException.java:109)
    What is puzzling is that the occurance of this nature has increased with user load and the toplink cache does not seem to have been refreshed after it encounters the first Optimistic Lock exception. We have run several test and this is not reproducabile in the DEV environment where we do not have a clustered set. After making a few updates to a record users starts experiencing the problem ... for some this persist for a really long time.
    We do not have Cache synchronization
    Cluster setup is as followes
    There are 4 boxes and each box has one admin and 4 managed servers.
    I have included the toplink-cmp-people.xml ( Thisis the particular entity bean we have a problem with) Our application server is Weblogic and we have Toplink version 9042
    <toplink-ejb-jar>
    <session>
    <name>People</name>
    <project-class>
    com.rhii.mjplus.fo.people.beans.PeopleToplink
    </project-class>
    <login>
    <datasource>MJPool</datasource>
    <non-jts-datasource>MJPool</non-jts-datasource>
    </login>
    <use-remote-relationships>true</use-remote-relationships>
    <customization-class>com.rhii.mjplus.common.TopLinkCustomization
    </customization-class>
    </session>
    </toplink-ejb-jar>
    I would appreciate any kind of feedback
    Thanks
    Lakshmi

    Can you refresh that record using a query before you save it ?
    Hi
    Our production environment is have a clustered
    environment and we have been noticing the following
    problem. When a user is trying to save a record she
    repeatedly encounters the "Toplink-5006" exception
    that I have included below.
    TopLink Error]: 2006.07.19
    04:49:23.359--UnitOfWork(115148745)--null--Exception
    [TOPLINK-5006] (TopLink (WLS CMP) - 10g (9.0.4.2)
    (Build 040311)):
    oracle.toplink.exceptions.OptimisticLockException
    Exception Description: The object
    [com.rhii.mjplus.fo.people.beans.People_z2e2a7__TopLin
    k_CMP_2_0@6dce459] cannot be updated because it has
    changed or been deleted since it was last read.
    Class>
    com.rhii.mjplus.fo.people.beans.People_z2e2a7__TopLink
    CMP2_0 Primary Key> [1001280937, 0]
    [TopLink Error]: 2006.07.19
    04:49:23.359--UnitOfWork(115148745)--null--Exception
    [TOPLINK-5006] (TopLink (WLS CMP) - 10g (9.0.4.2)
    (Build 040311)):
    oracle.toplink.exceptions.OptimisticLockException
    Exception Description: The object
    [com.rhii.mjplus.fo.people.beans.People_z2e2a7__TopLin
    k_CMP_2_0@6dce459] cannot be updated because it has
    changed or been deleted since it was last read.
    Class>
    com.rhii.mjplus.fo.people.beans.People_z2e2a7__TopLink
    CMP2_0 Primary Key> [1001280937, 0]
    <Jul 19, 2006 4:49:23 PM PDT> <Error> <EJB>
    <BEA-010026> <Exception occurred during commit of
    transaction Name=[EJB
    com.rhii.mjplus.fo.people.beans.PeopleManagerBean.setP
    eople(java.util.HashMap,java.lang.String,java.lang.Str
    ing,java.lang.String,java.util.HashSet,com.rhii.mjplus
    .common.login.data.UserInfoDO)],Xid=BEA1-795A6481D2E19
    38A8EAD(115171166),Status=Rolled back.
    [Reason=Exception [TOPLINK-5006] (TopLink (WLS CMP) -
    10g (9.0.4.2) (Build 040311)):
    oracle.toplink.exceptions.OptimisticLockException
    Exception Description: The object
    [com.rhii.mjplus.fo.people.beans.People_z2e2a7__TopLin
    k_CMP_2_0@6dce459] cannot be updated because it has
    changed or been deleted since it was last read.
    Class>
    com.rhii.mjplus.fo.people.beans.People_z2e2a7__TopLink
    CMP2_0 Primary Key> [1001280937,
    0]],numRepliesOwedMe=0,numRepliesOwedOthers=0,seconds
    since begin=0,seconds
    left=60,XAServerResourceInfo[weblogic.jdbc.wrapper.JTS
    XAResourceImpl]=(ServerResourceInfo[weblogic.jdbc.wrap
    per.JTSXAResourceImpl]=(state=rolledback,assigned=MS15
    _mjp),xar=weblogic.jdbc.wrapper.JTSXAResourceImpl@6dcf
    50b),SCInfo[mjp+MS15_mjp]=(state=rolledback),propertie
    s=({weblogic.transaction.name=[EJB
    com.rhii.mjplus.fo.people.beans.PeopleManagerBean.setP
    eople(java.util.HashMap,java.lang.String,java.lang.Str
    ing,java.lang.String,java.util.HashSet,com.rhii.mjplus
    .common.login.data.UserInfoDO)],
    weblogic.jdbc=t3://10.253.129.56:2323}),OwnerTransacti
    onManager=ServerTM[ServerCoordinatorDescriptor=(Coordi
    natorURL=MS15_mjp+10.253.129.56:2323+mjp+t3+,
    XAResources={},NonXAResources={})],CoordinatorURL=MS15
    _mjp+10.253.129.56:2323+mjp+t3+): Local Exception
    Stack:
    Exception [TOPLINK-5006] (TopLink (WLS CMP) - 10g
    (9.0.4.2) (Build 040311)):
    oracle.toplink.exceptions.OptimisticLockException
    Exception Description: The object
    [com.rhii.mjplus.fo.people.beans.People_z2e2a7__TopLin
    k_CMP_2_0@6dce459] cannot be updated because it has
    changed or been deleted since it was last read.
    Class>
    com.rhii.mjplus.fo.people.beans.People_z2e2a7__TopLink
    CMP2_0 Primary Key> [1001280937, 0]
    at
    t
    oracle.toplink.exceptions.OptimisticLockException.obje
    ctChangedSinceLastReadWhenUpdating(Ljava/lang/Object;L
    oracle/toplink/queryframework/ObjectLevelModifyQuery;)
    Loracle/toplink/exceptions/OptimisticLockException;(Op
    timisticLockException.java:109)
    What is puzzling is that the occurance of this nature
    has increased with user load and the toplink cache
    does not seem to have been refreshed after it
    encounters the first Optimistic Lock exception. We
    have run several test and this is not reproducabile
    in the DEV environment where we do not have a
    clustered set. After making a few updates to a record
    users starts experiencing the problem ... for some
    this persist for a really long time.
    We do not have Cache synchronization
    Cluster setup is as followes
    There are 4 boxes and each box has one admin and 4
    managed servers.
    I have included the toplink-cmp-people.xml ( Thisis
    the particular entity bean we have a problem with)
    Our application server is Weblogic and we have
    Toplink version 9042
    <toplink-ejb-jar>
    <session>
    <name>People</name>
    <project-class>
    com.rhii.mjplus.fo.people.beans.PeopleToplink
    </project-class>
    <login>
    <datasource>MJPool</datasource>
    <non-jts-datasource>MJPool</non-jts-datasource>
    </login>
    <use-remote-relationships>true</use-remote-relationsh
    ips>
    <customization-class>com.rhii.mjplus.common.TopLinkCu
    stomization
    </customization-class>
    </session>
    </toplink-ejb-jar>
    I would appreciate any kind of feedback
    Thanks
    LakshmiCan you refresh that record using a query before you save it ?

  • Can I cluster entitybean which build by Toplink

    I am using toplink for weblogic(weblogic7.01). All entitybeans are built by using toplink. Now we want to turn weblogic into clustered server. How can I set these entitybean clusterable? Weblogic document says that I need set the cluster property in weblogic-ejb-jar.xml. Should I set in weblogic.xml or my toplink project.xml?
    From weblogic console, I can not see any entitybeans list there, I guess since they are wrapped by toplink.

    Yes, TopLink can be configured for cache-synchronization in a cluster. It involves adding a setting in your toplink-ejb-jar.xml configuration file. TopLink's CMP documentation covers this:
    http://download-west.oracle.com/docs/cd/A97688_08/toplink.903/b10065/clusteri.htm#1036378
    The configuration details for the toplink-ej-jar.xml file is described at:
    http://download-west.oracle.com/docs/cd/A97688_08/toplink.903/b10065/entity_b.htm#1097003
    Cheers,
    Doug

  • Could not create/access the TopLink Session.While invoking OSB proxy.

    Hi,
    While testing an OSB proxy ,which uses a multi datasource to connect to a remote database, from the sbconsole.I am getting exceptions and it is not able to create/access the TopLink Session.
    I have checked the multi datasource jndi name ,which is correct.
    The stack trace which I am getting while invoking the service is posted below:
    oracle.tip.adapter.sa.api.JCABindingException: oracle.tip.adapter.sa.impl.fw.ext.org.collaxa.thirdparty.apache.wsif.WSIFException: servicebus:/WSDL/CRN_CommonServices/SaveTransactionBSV2 [ SaveTransactionBSV2_ptt::SaveTransactionBSV2(InputParameters,OutputParameters) ] - WSIF JCA Execute of operation 'SaveTransactionBSV2' failed due to: Could not create/access the TopLink Session.
    This session is used to connect to the datastore.
    ; nested exception is:
    JCA-11622
    Could not create/access the TopLink Session.
    This session is used to connect to the datastore.
    See root exception for the specific exception. You may need to configure the connection settings in the deployment descriptor (i.e. $J2EE_HOME/application-deployments/default/DbAdapter/oc4j-ra.xml) and restart the server. Caused by javax.resource.spi.InvalidPropertyException: Missing Property Exception.
    Missing Property: [DBManagedConnectionFactory.userName].
    Make sure the property is set in the interaction (activation) spec by editing its definition in the wsdl.
    at oracle.tip.adapter.sa.impl.JCABindingReferenceImpl.request(JCABindingReferenceImpl.java:225)
    at com.bea.wli.sb.transports.jca.binding.JCATransportOutboundBindingServiceImpl.invoke(JCATransportOutboundBindingServiceImpl.java:136)
    at com.bea.wli.sb.transports.jca.JCAOutboundMessageContext.sendRequestResponse(JCAOutboundMessageContext.java:152)
    at com.bea.wli.sb.transports.jca.JCAOutboundMessageContext.send(JCAOutboundMessageContext.java:113)
    at com.bea.wli.sb.transports.jca.JCATransportProvider.sendMessageAsync(JCATransportProvider.java:464)
    at sun.reflect.GeneratedMethodAccessor249.invoke(Unknown Source)
    at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:25)
    at java.lang.reflect.Method.invoke(Method.java:597)
    at com.bea.wli.sb.transports.Util$1.invoke(Util.java:82)
    at $Proxy76.sendMessageAsync(Unknown Source)
    at com.bea.wli.sb.transports.LoadBalanceFailoverListener.sendMessageAsync(LoadBalanceFailoverListener.java:148)
    at com.bea.wli.sb.transports.LoadBalanceFailoverListener.sendMessageToServiceAsync(LoadBalanceFailoverListener.java:543)
    at com.bea.wli.sb.transports.LoadBalanceFailoverListener.sendMessageToService(LoadBalanceFailoverListener.java:478)
    at com.bea.wli.sb.transports.TransportManagerImpl.sendMessageToService(TransportManagerImpl.java:544)
    at com.bea.wli.sb.transports.TransportManagerImpl.sendMessageAsync(TransportManagerImpl.java:422)
    at com.bea.wli.sb.pipeline.PipelineContextImpl.doDispatch(PipelineContextImpl.java:583)
    at com.bea.wli.sb.pipeline.PipelineContextImpl.dispatchSync(PipelineContextImpl.java:466)
    at stages.transform.runtime.WsCalloutRuntimeStep$WsCalloutDispatcher.dispatch(WsCalloutRuntimeStep.java:1401)
    at stages.transform.runtime.WsCalloutRuntimeStep.processMessage(WsCalloutRuntimeStep.java:236)
    at com.bea.wli.sb.stages.StageMetadataImpl$WrapperRuntimeStep.processMessage(StageMetadataImpl.java:346)
    at com.bea.wli.sb.stages.impl.SequenceRuntimeStep.processMessage(SequenceRuntimeStep.java:33)
    at com.bea.wli.sb.pipeline.PipelineStage.processMessage(PipelineStage.java:84)
    at com.bea.wli.sb.pipeline.PipelineContextImpl.execute(PipelineContextImpl.java:866)
    at com.bea.wli.sb.pipeline.Pipeline.processMessage(Pipeline.java:141)
    at com.bea.wli.sb.pipeline.PipelineContextImpl.execute(PipelineContextImpl.java:866)
    at com.bea.wli.sb.pipeline.PipelineNode.doRequest(PipelineNode.java:55)
    at com.bea.wli.sb.pipeline.Node.processMessage(Node.java:67)
    at com.bea.wli.sb.pipeline.PipelineContextImpl.execute(PipelineContextImpl.java:866)
    at com.bea.wli.sb.pipeline.Router.processMessage(Router.java:191)
    at com.bea.wli.sb.pipeline.MessageProcessor.processRequest(MessageProcessor.java:75)
    at com.bea.wli.sb.pipeline.RouterManager$1.run(RouterManager.java:508)
    at com.bea.wli.sb.pipeline.RouterManager$1.run(RouterManager.java:506)
    at weblogic.security.acl.internal.AuthenticatedSubject.doAs(AuthenticatedSubject.java:363)
    at weblogic.security.service.SecurityManager.runAs(Unknown Source)
    at com.bea.wli.sb.security.WLSSecurityContextService.runAs(WLSSecurityContextService.java:55)
    at com.bea.wli.sb.pipeline.RouterManager.processMessage(RouterManager.java:505)
    at com.bea.wli.sb.test.service.ServiceMessageSender.send0(ServiceMessageSender.java:263)
    at com.bea.wli.sb.test.service.ServiceMessageSender.access$000(ServiceMessageSender.java:68)
    at com.bea.wli.sb.test.service.ServiceMessageSender$1.run(ServiceMessageSender.java:125)
    at com.bea.wli.sb.test.service.ServiceMessageSender$1.run(ServiceMessageSender.java:123)
    at weblogic.security.acl.internal.AuthenticatedSubject.doAs(AuthenticatedSubject.java:363)
    at weblogic.security.service.SecurityManager.runAs(Unknown Source)
    at com.bea.wli.sb.security.WLSSecurityContextService.runAs(WLSSecurityContextService.java:55)
    at com.bea.wli.sb.test.service.ServiceMessageSender.send(ServiceMessageSender.java:128)
    at com.bea.wli.sb.test.service.ServiceProcessor.invoke(ServiceProcessor.java:441)
    at com.bea.wli.sb.test.TestServiceImpl.invoke(TestServiceImpl.java:169)
    at com.bea.wli.sb.test.client.ejb.TestServiceEJBBean.invoke(TestServiceEJBBean.java:136)
    at com.bea.wli.sb.test.client.ejb.TestService_sqr59p_EOImpl.invoke(TestService_sqr59p_EOImpl.java:572)
    at com.bea.wli.sb.test.client.ejb.TestService_sqr59p_EOImpl_WLSkel.invoke(Unknown Source)
    at weblogic.rmi.internal.BasicServerRef.invoke(BasicServerRef.java:589)
    at weblogic.rmi.cluster.ClusterableServerRef.invoke(ClusterableServerRef.java:230)
    at weblogic.rmi.internal.BasicServerRef$1.run(BasicServerRef.java:477)
    at weblogic.security.acl.internal.AuthenticatedSubject.doAs(AuthenticatedSubject.java:363)
    at weblogic.security.service.SecurityManager.runAs(Unknown Source)
    at weblogic.rmi.internal.BasicServerRef.handleRequest(BasicServerRef.java:473)
    at weblogic.rmi.internal.wls.WLSExecuteRequest.run(WLSExecuteRequest.java:118)
    at weblogic.work.ExecuteThread.execute(ExecuteThread.java:201)
    at weblogic.work.ExecuteThread.run(ExecuteThread.java:173)
    Caused by: oracle.tip.adapter.sa.impl.fw.ext.org.collaxa.thirdparty.apache.wsif.WSIFException: servicebus:/WSDL/CRN_CommonServices/SaveTransactionBSV2 [ SaveTransactionBSV2_ptt::SaveTransactionBSV2(InputParameters,OutputParameters) ] - WSIF JCA Execute of operation 'SaveTransactionBSV2' failed due to: Could not create/access the TopLink Session.
    This session is used to connect to the datastore.
    ; nested exception is:
    JCA-11622
    Could not create/access the TopLink Session.
    This session is used to connect to the datastore.
    See root exception for the specific exception. You may need to configure the connection settings in the deployment descriptor (i.e. $J2EE_HOME/application-deployments/default/DbAdapter/oc4j-ra.xml) and restart the server. Caused by javax.resource.spi.InvalidPropertyException: Missing Property Exception.
    Missing Property: [DBManagedConnectionFactory.userName].
    Make sure the property is set in the interaction (activation) spec by editing its definition in the wsdl.
    at oracle.tip.adapter.sa.impl.fw.wsif.jca.WSIFOperation_JCA.executeRequestResponseOperation(WSIFOperation_JCA.java:619)
    at oracle.tip.adapter.sa.impl.JCABindingReferenceImpl.invokeWsifProvider(JCABindingReferenceImpl.java:331)
    at oracle.tip.adapter.sa.impl.JCABindingReferenceImpl.request(JCABindingReferenceImpl.java:220)
    ... 57 more
    Caused by: JCA-11622
    Could not create/access the TopLink Session.
    This session is used to connect to the datastore.
    See root exception for the specific exception. You may need to configure the connection settings in the deployment descriptor (i.e. $J2EE_HOME/application-deployments/default/DbAdapter/oc4j-ra.xml) and restart the server. Caused by javax.resource.spi.InvalidPropertyException: Missing Property Exception.
    Missing Property: [DBManagedConnectionFactory.userName].
    Make sure the property is set in the interaction (activation) spec by editing its definition in the wsdl.
    at oracle.tip.adapter.db.exceptions.DBResourceException.createEISException(DBResourceException.java:473)
    at oracle.tip.adapter.db.exceptions.DBResourceException.couldNotCreateTopLinkSessionException(DBResourceException.java:216)
    at oracle.tip.adapter.db.DBManagedConnectionFactory.acquireSession(DBManagedConnectionFactory.java:638)
    at oracle.tip.adapter.db.transaction.DBTransaction.getSession(DBTransaction.java:457)
    at oracle.tip.adapter.db.DBConnection.getSession(DBConnection.java:222)
    at oracle.tip.adapter.db.DBInteraction.executeStoredProcedure(DBInteraction.java:1001)
    at oracle.tip.adapter.db.DBInteraction.execute(DBInteraction.java:232)
    at oracle.tip.adapter.sa.impl.fw.wsif.jca.WSIFOperation_JCA.executeRequestResponseOperation(WSIFOperation_JCA.java:463)
    ... 59 more
    Caused by: javax.resource.spi.InvalidPropertyException: Missing Property Exception.
    Missing Property: [DBManagedConnectionFactory.userName].
    Make sure the property is set in the interaction (activation) spec by editing its definition in the wsdl.
    at oracle.tip.adapter.db.exceptions.DBResourceException.missingPropertyException(DBResourceException.java:348)
    at oracle.tip.adapter.db.DBManagedConnectionFactory.createServerSession(DBManagedConnectionFactory.java:932)
    at oracle.tip.adapter.db.DBManagedConnectionFactory.acquireSession(DBManagedConnectionFactory.java:413)
    ... 64 more
    Looking forward for your help.
    Thanks a lot in advance.
    Sumit

    Have you created XA data source? If yes then make sure that in connection factory you are assigning the JNDI name of data-source in XAdataSource property (NOT in datasource property). Also make sure that your datasource is up and running and you are updating the dbadapter after creating connection factory.
    Regards,
    Anuj

  • WebLogic 5.1 sp6 .. session in cluster not working properly

    It seems like there is a problem in Weblogic 5.1 with sessions in a
              clustered environment. The problem is immediately visible with sp3 but
              also appears in different form with sp6 . I discovered the problem is
              actually with session while testing the cluster with a Session servlet
              given with the Weblogic 5.1 kit.
              I regiestered the servlet as servlet/session.
              The environment is briefly as follows:
              Solaris 2.6
              Weblogic 5.1.0 sp3 or sp6 - 2 servers clustered and running on same
              machine with two multihome addreses like home1:7001 and home2:7001
              Cluster properties in mycluster/weblogic.properties are set as,
              weblogic.httpd.clustering.enable=true
              weblogic.httpd.session.enable=true
              weblogic.httpd.session.persistence=true
              weblogic.httpd.session.persistentStoreType=replicated
              and also started with required cluster properties in startup.
              iPlanet 4.0 webserver - obj.conf has entries like
              WebLogicCluster="home1:7001,home2:7001"
              All requests are made as http://<host>/servlet/session
              sp3 ) After both members are booted up, the first call to session
              servlet from any new browser session throws a NullException in server,
              but subsequent calls work fine. Single server works fine.
              After looking at sp6 release notes it appeared to me that it was a known
              problem with cluster.
              sp6 ) After both members are booted up, all calls to session servlet do
              not complete and eventually it times out. Other servlets work fine.
              It only works if we do these steps,
              - one of the member is booted up and then session servlet is called and
              response comes back.
              - second member is booted up and it works well if session servlet is
              called. Subsequent requests to both members work fine.
              Another strange behaviour:
              While running a snoop servlet in cluster subsequent requests show,
              Requested url :
              either http://<host>/servlet/snoop
              or http://<host>:7001/servlet/snoop alternatively
              which is strange.
              

    You are not using the same service pack on both the servers. let try do that and see how it goes.
              1. Also, if you are doing testing why do you so many threads.
              2. The servers are unable to open sockets to each other. Could be network related. Please check into that also, but first start the servers with the same service pack.
              - Prasad
              Sutanu Ghosh wrote:
              > Here are the thread dumps from both members of the cluster. I took the dumps
              > about 5 times in 10 secs interval. It will be helpful for us if you can give
              > some insight about this problem.
              > Also about the snoop servlet, can you explain why the requested url is
              > different (one with weblogic port another without it) in every alternate
              > requests ?
              > thanks
              >
              > Prasad Peddada wrote:
              >
              > > Sutanu Ghosh wrote:
              > >
              > > > It seems like there is a problem in Weblogic 5.1 with sessions in a
              > > > clustered environment. The problem is immediately visible with sp3 but
              > > > also appears in different form with sp6 . I discovered the problem is
              > > > actually with session while testing the cluster with a Session servlet
              > > > given with the Weblogic 5.1 kit.
              > > > I regiestered the servlet as servlet/session.
              > > >
              > > > The environment is briefly as follows:
              > > > Solaris 2.6
              > > > Weblogic 5.1.0 sp3 or sp6 - 2 servers clustered and running on same
              > > > machine with two multihome addreses like home1:7001 and home2:7001
              > > > Cluster properties in mycluster/weblogic.properties are set as,
              > > > weblogic.httpd.clustering.enable=true
              > > > weblogic.httpd.session.enable=true
              > > > weblogic.httpd.session.persistence=true
              > > > weblogic.httpd.session.persistentStoreType=replicated
              > > > and also started with required cluster properties in startup.
              > > >
              > > > iPlanet 4.0 webserver - obj.conf has entries like
              > > > WebLogicCluster="home1:7001,home2:7001"
              > > >
              > > > All requests are made as http://<host>/servlet/session
              > > >
              > > > sp3 ) After both members are booted up, the first call to session
              > > > servlet from any new browser session throws a NullException in server,
              > > > but subsequent calls work fine. Single server works fine.
              > > > After looking at sp6 release notes it appeared to me that it was a known
              > > > problem with cluster.
              > > >
              > > > sp6 ) After both members are booted up, all calls to session servlet do
              > > > not complete and eventually it times out. Other servlets work fine.
              > > > It only works if we do these steps,
              > >
              > > Take thread dumps in intervals of 10 seconds and post them again.
              > >
              > > > - one of the member is booted up and then session servlet is called and
              > > > response comes back.
              > > > - second member is booted up and it works well if session servlet is
              > > > called. Subsequent requests to both members work fine.
              > > >
              > > > Another strange behaviour:
              > > > While running a snoop servlet in cluster subsequent requests show,
              > > > Requested url :
              > > > either http://<host>/servlet/snoop
              > > > or http://<host>:7001/servlet/snoop alternatively
              > > > which is strange.
              >
              > ------------------------------------------------------------------------
              > SIGQUIT
              > A SIGQUIT has been received. Do you want to:
              > [ 0 ] continue program
              > [ 1 ] check & print one deadlock
              > [ 2 ] check & print all deadlocks
              > [ 3 ] dump thread stacks
              > [ 4 ] dump lock registry
              > [ 5 ] heap inspection
              > [ 6 ] terminate program
              > Type number corresponding to selected action: Found 0 deadlock
              >
              > Full thread dump:
              > "HighPriority TimeEventGenerator" (TID:0xe7f658, sys_thread_t:0xe7f590, state:CW, thread_t: t@90, threadID:0xc9751dd8, stack_bottom:0xc9752000, stack_size:0x20000) prio=9
              >
              > [1] weblogic.time.common.internal.TimeTable.snooze(TimeTable.java:256)
              > [2] weblogic.time.common.internal.TimeEventGenerator.run(TimeEventGenerator.java:131)
              > [3] java.lang.Thread.run(Thread.java:479)
              > -------------------
              > "SSLListenThread" (TID:0xe4e270, sys_thread_t:0xe4e1a8, state:R, thread_t: t@89, threadID:0xc9841dd8, stack_bottom:0xc9842000, stack_size:0x20000) prio=5
              >
              > [1] java.net.PlainSocketImpl.socketAccept(Native Method)
              > [2] java.net.PlainSocketImpl.accept(PlainSocketImpl.java:406)
              > [3] java.net.ServerSocket.implAccept(ServerSocket.java:240)
              > [4] java.net.ServerSocket.accept(ServerSocket.java:224)
              > [5] weblogic.security.SSL.SSLServerSocket.acceptNoHandshake(SSLServerSocket.java:121)
              > [6] weblogic.security.SSL.SSLServerSocket.accept(SSLServerSocket.java:112)
              > [7] weblogic.t3.srvr.ListenThread.run(ListenThread.java:226)
              > -------------------
              > "ListenThread" (TID:0xe247f0, sys_thread_t:0xe24728, state:R, thread_t: t@88, threadID:0xc9801dd8, stack_bottom:0xc9802000, stack_size:0x20000) prio=5
              >
              > [1] java.net.PlainSocketImpl.socketAccept(Native Method)
              > [2] java.net.PlainSocketImpl.accept(PlainSocketImpl.java:406)
              > [3] java.net.ServerSocket.implAccept(ServerSocket.java:238)
              > [4] java.net.ServerSocket.accept(ServerSocket.java:223)
              > [5] weblogic.t3.srvr.ListenThread.run(ListenThread.java:226)
              > -------------------
              > "NBExecuteThread-1" (TID:0xa9b748, sys_thread_t:0xa9b680, state:CW, thread_t: t@84, threadID:0xc9891dd8, stack_bottom:0xc9892000, stack_size:0x20000) prio=5
              >
              > [1] java.lang.Object.wait(Object.java:424)
              > [2] weblogic.kernel.ExecuteThread.waitForRequest(ExecuteThread.java:103)
              > [3] weblogic.kernel.ExecuteThread.run(ExecuteThread.java:111)
              > -------------------
              > "NBExecuteThread-0" (TID:0xa9a388, sys_thread_t:0xa9a2c0, state:CW, thread_t: t@83, threadID:0xc98c1dd8, stack_bottom:0xc98c2000, stack_size:0x20000) prio=5
              >
              > [1] java.lang.Object.wait(Object.java:424)
              > [2] weblogic.kernel.ExecuteThread.waitForRequest(ExecuteThread.java:103)
              > [3] weblogic.kernel.ExecuteThread.run(ExecuteThread.java:111)
              > -------------------
              > "ExecuteThread-69" (TID:0xa98fc8, sys_thread_t:0xa98f00, state:R, thread_t: t@82, threadID:0xc9911dd8, stack_bottom:0xc9912000, stack_size:0x20000) prio=5
              >
              > [1] java.net.PlainDatagramSocketImpl.peek(Native Method)
              > [2] java.net.DatagramSocket.receive(DatagramSocket.java:348)
              > [3] weblogic.cluster.TDMSocketIPM.receive(TDMSocketIPM.java:80)
              > [4] weblogic.cluster.TMSocket.execute(TMSocket.java:233)
              > [5] weblogic.kernel.ExecuteThread.run(ExecuteThread.java:111)
              > -------------------
              > "ExecuteThread-68" (TID:0xa97be8, sys_thread_t:0xa97b20, state:R, thread_t: t@81, threadID:0xc9941dd8, stack_bottom:0xc9942000, stack_size:0x20000) prio=5
              >
              > [1] weblogic.socket.PosixSocketMuxer.poll(Native Method)
              > [2] weblogic.socket.PosixSocketMuxer.processSockets(PosixSocketMuxer.java:259)
              > [3] weblogic.socket.SocketReaderRequest.execute(SocketReaderRequest.java:23)
              > [4] weblogic.kernel.ExecuteThread.run(ExecuteThread.java:111)
              > -------------------
              > "ExecuteThread-67" (TID:0xa96828, sys_thread_t:0xa96760, state:MW, thread_t: t@80, threadID:0xc9991dd8, stack_bottom:0xc9992000, stack_size:0x20000) prio=5
              >
              > [1] weblogic.socket.PosixSocketMuxer.processSockets(PosixSocketMuxer.java:259)
              > [2] weblogic.socket.SocketReaderRequest.execute(SocketReaderRequest.java:23)
              > [3] weblogic.kernel.ExecuteThread.run(ExecuteThread.java:111)
              > -------------------
              > "ExecuteThread-66" (TID:0xa95468, sys_thread_t:0xa953a0, state:MW, thread_t: t@79, threadID:0xc99c1dd8, stack_bottom:0xc99c2000, stack_size:0x20000) prio=5
              >
              > [1] weblogic.socket.PosixSocketMuxer.processSockets(PosixSocketMuxer.java:259)
              > [2] weblogic.socket.SocketReaderRequest.execute(SocketReaderRequest.java:23)
              > [3] weblogic.kernel.ExecuteThread.run(ExecuteThread.java:111)
              > -------------------
              > "ExecuteThread-65" (TID:0xa940a8, sys_thread_t:0xa93fe0, state:CW, thread_t: t@78, threadID:0xc9a11dd8, stack_bottom:0xc9a12000, stack_size:0x20000) prio=5
              >
              > [1] java.lang.Object.wait(Object.java:424)
              > [2] weblogic.kernel.ExecuteThread.waitForRequest(ExecuteThread.java:103)
              > [3] weblogic.kernel.ExecuteThread.run(ExecuteThread.java:111)
              > -------------------
              > "ExecuteThread-64" (TID:0xa92ce8, sys_thread_t:0xa92c20, state:CW, thread_t: t@77, threadID:0xc9a41dd8, stack_bottom:0xc9a42000, stack_size:0x20000) prio=5
              >
              > [1] weblogic.rjvm.ResponseImpl.waitForData(ResponseImpl.java:43)
              > [2] weblogic.rjvm.ResponseImpl.getThrowable(ResponseImpl.java:58)
              > [3] weblogic.rmi.extensions.BasicResponse.getThrowable(BasicResponse.java:13)
              > [4] weblogic.rmi.extensions.AbstractRequest.sendReceive(AbstractRequest.java:74)
              > [5] weblogic.jndi.internal.RemoteContextFactoryImpl_WLStub.getContext(RemoteContextFactoryImpl_WLStub.java:95)
              > [6] weblogic.jndi.WLInitialContextFactoryDelegate.newRemoteContext(WLInitialContextFactoryDelegate.java:316)
              > [7] weblogic.jndi.WLInitialContextFactoryDelegate.newContext(WLInitialContextFactoryDelegate.java:224)
              > [8] weblogic.jndi.WLInitialContextFactoryDelegate.getInitialContext(WLInitialContextFactoryDelegate.java:164)
              > [9] weblogic.jndi.Environment.getContext(Environment.java:122)
              > [10] weblogic.jndi.Environment.getInitialContext(Environment.java:104)
              > [11] weblogic.cluster.replication.ReplicationManager.getRepMan(ReplicationManager.java:362)
              > [12] weblogic.cluster.replication.ReplicationManager.createSecondary(ReplicationManager.java:406)
              > [13] weblogic.cluster.replication.ReplicationManager.register(ReplicationManager.java:585)
              > [14] weblogic.servlet.internal.session.ReplicatedSession.<init>(ReplicatedSession.java:106)
              > [15] weblogic.servlet.internal.session.ReplicatedSessionContext.getNewSession(ReplicatedSessionContext.java:50)
              > [16] weblogic.servlet.internal.session.SessionContext.getNewSessionInstance(SessionContext.java:331)
              > [17] weblogic.servlet.internal.ServletRequestImpl.getNewSession(ServletRequestImpl.java:1215)
              > [18] weblogic.servlet.internal.ServletRequestImpl.getSession(ServletRequestImpl.java:1118)
              > [19] examples.servlets.SessionServlet.doGet(SessionServlet.java:51)
              > [20] javax.servlet.http.HttpServlet.service(HttpServlet.java:740)
              > [21] javax.servlet.http.HttpServlet.service(HttpServlet.java:865)
              > [22] weblogic.servlet.internal.ServletStubImpl.invokeServlet(ServletStubImpl.java:123)
              > [23] weblogic.servlet.internal.ServletContextImpl.invokeServlet(ServletContextImpl.java:761)
              > [24] weblogic.servlet.internal.ServletContextImpl.invokeServlet(ServletContextImpl.java:708)
              > [25] weblogic.servlet.internal.ServletContextManager.invokeServlet(ServletContextManager.java:252)
              > [26] weblogic.socket.MuxableSocketHTTP.invokeServlet(MuxableSocketHTTP.java:346)
              > [27] weblogic.socket.MuxableSocketHTTP.execute(MuxableSocketHTTP.java:246)
              > [28] weblogic.kernel.ExecuteThread.run(ExecuteThread.java:111)
              > -------------------
              > "ExecuteThread-63" (TID:0xa91b10, sys_thread_t:0xa91a48, state:CW, thread_t: t@76, threadID:0xc9a91dd8, stack_bottom:0xc9a92000, stack_size:0x20000) prio=5
              >
              > [1] java.lang.Object.wait(Object.java:424)
              > [2] weblogic.kernel.ExecuteThread.waitForRequest(ExecuteThread.java:103)
              > [3] weblogic.kernel.ExecuteThread.run(ExecuteThread.java:111)
              > -------------------
              > "ExecuteThread-62" (TID:0xa90750, sys_thread_t:0xa90688, state:CW, thread_t: t@75, threadID:0xc9ac1dd8, stack_bottom:0xc9ac2000, stack_size:0x20000) prio=5
              >
              > [1] java.lang.Object.wait(Object.java:424)
              > [2] weblogic.kernel.ExecuteThread.waitForRequest(ExecuteThread.java:103)
              > [3] weblogic.kernel.ExecuteThread.run(ExecuteThread.java:111)
              > -------------------
              > "ExecuteThread-61" (TID:0xa8f390, sys_thread_t:0xa8f2c8, state:CW, thread_t: t@74, threadID:0xc9b11dd8, stack_bottom:0xc9b12000, stack_size:0x20000) prio=5
              >
              > [1] java.lang.Object.wait(Object.java:424)
              > [2] weblogic.kernel.ExecuteThread.waitForRequest(ExecuteThread.java:103)
              > [3] weblogic.kernel.ExecuteThread.run(ExecuteThread.java:111)
              > -------------------
              > "ExecuteThread-60" (TID:0xa8dfd0, sys_thread_t:0xa8df08, state:CW, thread_t: t@73, threadID:0xc9b41dd8, stack_bottom:0xc9b42000, stack_size:0x20000) prio=5
              >
              > [1] java.lang.Object.wait(Object.java:424)
              > [2] weblogic.kernel.ExecuteThread.waitForRequest(ExecuteThread.java:103)
              > [3] weblogic.kernel.ExecuteThread.run(ExecuteThread.java:111)
              > -------------------
              > "ExecuteThread-59" (TID:0xa8cc10, sys_thread_t:0xa8cb48, state:CW, thread_t: t@72, threadID:0xc9b91dd8, stack_bottom:0xc9b92000, stack_size:0x20000) prio=5
              >
              > [1] java.lang.Object.wait(Object.java:424)
              > [2] weblogic.kernel.ExecuteThread.waitForRequest(ExecuteThread.java:103)
              > [3] weblogic.kernel.ExecuteThread.run(ExecuteThread.java:111)
              > -------------------
              > "ExecuteThread-58" (TID:0xa8ba38, sys_thread_t:0xa8b970, state:CW, thread_t: t@71, threadID:0xc9bc1dd8, stack_bottom:0xc9bc2000, stack_size:0x20000) prio=5
              >
              > [1] java.lang.Object.wait(Object.java:424)
              > [2] weblogic.kernel.ExecuteThread.waitForRequest(ExecuteThread.java:103)
              > [3] weblogic.kernel.ExecuteThread.run(ExecuteThread.java:111)
              > -------------------
              > "ExecuteThread-57" (TID:0xa89670, sys_thread_t:0xa895a8, state:CW, thread_t: t@70, threadID:0xc9c11dd8, stack_bottom:0xc9c12000, stack_size:0x20000) prio=5
              >
              > [1] java.lang.Object.wait(Object.java:424)
              > [2] weblogic.kernel.ExecuteThread.waitForRequest(ExecuteThread.java:103)
              > [3] weblogic.kernel.ExecuteThread.run(ExecuteThread.java:111)
              > -------------------
              > "ExecuteThread-56" (TID:0xa882b0, sys_thread_t:0xa881e8, state:CW, thread_t: t@69, threadID:0xc9c41dd8, stack_bottom:0xc9c42000, stack_size:0x20000) prio=5
              >
              > [1] java.lang.Object.wait(Object.java:424)
              > [2] weblogic.kernel.ExecuteThread.waitForRequest(ExecuteThread.java:103)
              > [3] weblogic.kernel.ExecuteThread.run(ExecuteThread.java:111)
              > -------------------
              > "ExecuteThread-55" (TID:0xa86ef0, sys_thread_t:0xa86e28, state:CW, thread_t: t@68, threadID:0xc9c91dd8, stack_bottom:0xc9c92000, stack_size:0x20000) prio=5
              >
              > [1] java.lang.Object.wait(Object.java:424)
              > [2] weblogic.kernel.ExecuteThread.waitForRequest(ExecuteThread.java:103)
              > [3] weblogic.kernel.ExecuteThread.run(ExecuteThread.java:111)
              > -------------------
              > "ExecuteThread-54" (TID:0xa85b30, sys_thread_t:0xa85a68, state:CW, thread_t: t@67, threadID:0xc9cc1dd8, stack_bottom:0xc9cc2000, stack_size:0x20000) prio=5
              >
              > [1] java.lang.Object.wait(Object.java:424)
              > [2] weblogic.kernel.ExecuteThread.waitForRequest(ExecuteThread.java:103)
              > [3] weblogic.kernel.ExecuteThread.run(ExecuteThread.java:111)
              > -------------------
              > "ExecuteThread-53" (TID:0xa84958, sys_thread_t:0xa84890, state:CW, thread_t: t@66, threadID:0xc9d11dd8, stack_bottom:0xc9d12000, stack_size:0x20000) prio=5
              >
              > [1] java.lang.Object.wait(Object.java:424)
              > [2] weblogic.kernel.ExecuteThread.waitForRequest(ExecuteThread.java:103)
              > [3] weblogic.kernel.ExecuteThread.run(ExecuteThread.java:111)
              > -------------------
              > "ExecuteThread-52" (TID:0xa83598, sys_thread_t:0xa834d0, state:CW, thread_t: t@65, threadID:0xc9d41dd8, stack_bottom:0xc9d42000, stack_size:0x20000) prio=5
              >
              > [1] java.lang.Object.wait(Object.java:424)
              > [2] weblogic.kernel.ExecuteThread.waitForRequest(ExecuteThread.java:103)
              > [3] weblogic.kernel.ExecuteThread.run(ExecuteThread.java:111)
              > -------------------
              > "ExecuteThread-51" (TID:0xa821d8, sys_thread_t:0xa82110, state:CW, thread_t: t@64, threadID:0xc9d91dd8, stack_bottom:0xc9d92000, stack_size:0x20000) prio=5
              >
              > [1] java.lang.Object.wait(Object.java:424)
              > [2] weblogic.kernel.ExecuteThread.waitForRequest(ExecuteThread.java:103)
              > [3] weblogic.kernel.ExecuteThread.run(ExecuteThread.java:111)
              > -------------------
              > "ExecuteThread-50" (TID:0xa80a10, sys_thread_t:0xa80948, state:CW, thread_t: t@63, threadID:0xc9dc1dd8, stack_bottom:0xc9dc2000, stack_size:0x20000) prio=5
              >
              > [1] java.lang.Object.wait(Object.java:424)
              > [2] weblogic.kernel.ExecuteThread.waitForRequest(ExecuteThread.java:103)
              > [3] weblogic.kernel.ExecuteThread.run(ExecuteThread.java:111)
              > -------------------
              > "ExecuteThread-49" (TID:0xa7f650, sys_thread_t:0xa7f588, state:CW, thread_t: t@62, threadID:0xc9e11dd8, stack_bottom:0xc9e12000, stack_size:0x20000) prio=5
              >
              > [1] java.lang.Object.wait(Object.java:424)
              > [2] weblogic.kernel.ExecuteThread.waitForRequest(ExecuteThread.java:103)
              > [3] weblogic.kernel.ExecuteThread.run(ExecuteThread.java:111)
              > -------------------
              > "ExecuteThread-48" (TID:0xa7e478, sys_thread_t:0xa7e3b0, state:CW, thread_t: t@61, threadID:0xc9e41dd8, stack_bottom:0xc9e42000, stack_size:0x20000) prio=5
              >
              > [1] java.lang.Object.wait(Object.java:424)
              > [2] weblogic.kernel.ExecuteThread.waitForRequest(ExecuteThread.java:103)
              > [3] weblogic.kernel.ExecuteThread.run(ExecuteThread.java:111)
              > -------------------
              > "ExecuteThread-47" (TID:0xa7d0b8, sys_thread_t:0xa7cff0, state:CW, thread_t: t@60, threadID:0xc9e91dd8, stack_bottom:0xc9e92000, stack_size:0x20000) prio=5
              >
              > [1] java.lang.Object.wait(Object.java:424)
              > [2] weblogic.kernel.ExecuteThread.waitForRequest(ExecuteThread.java:103)
              > [3] weblogic.kernel.ExecuteThread.run(ExecuteThread.java:111)
              > -------------------
              > "ExecuteThread-46" (TID:0xa7bcf8, sys_thread_t:0xa7bc30, state:CW, thread_t: t@59, threadID:0xc9ec1dd8, stack_bottom:0xc9ec2000, stack_size:0x20000) prio=5
              >
              > [1] java.lang.Object.wait(Object.java:424)
              > [2] weblogic.kernel.ExecuteThread.waitForRequest(ExecuteThread.java:103)
              > [3] weblogic.kernel.ExecuteThread.run(ExecuteThread.java:111)
              > -------------------
              > "ExecuteThread-45" (TID:0xa7a938, sys_thread_t:0xa7a870, state:CW, thread_t: t@58, threadID:0xc9f11dd8, stack_bottom:0xc9f12000, stack_size:0x20000) prio=5
              >
              > [1] java.lang.Object.wait(Object.java:424)
              > [2] weblogic.kernel.ExecuteThread.waitForRequest(ExecuteThread.java:103)
              > [3] weblogic.kernel.ExecuteThread.run(ExecuteThread.java:111)
              > -------------------
              > "ExecuteThread-44" (TID:0xa79578, sys_thread_t:0xa794b0, state:CW, thread_t: t@57, threadID:0xc9f41dd8, stack_bottom:0xc9f42000, stack_size:0x20000) prio=5
              >
              > [1] java.lang.Object.wait(Object.java:424)
              > [2] weblogic.kernel.ExecuteThread.waitForRequest(ExecuteThread.java:103)
              > [3] weblogic.kernel.ExecuteThread.run(ExecuteThread.java:111)
              > -------------------
              > "ExecuteThread-43" (TID:0xa783a0, sys_thread_t:0xa782d8, state:CW, thread_t: t@56, threadID:0xc9f91dd8, stack_bottom:0xc9f92000, stack_size:0x20000) prio=5
              >
              > [1] java.lang.Object.wait(Object.java:424)
              > [2] weblogic.kernel.ExecuteThread.waitForRequest(ExecuteThread.java:103)
              > [3] weblogic.kernel.ExecuteThread.run(ExecuteThread.java:111)
              > -------------------
              > "ExecuteThread-42" (TID:0xa76fe0, sys_thread_t:0xa76f18, state:CW, thread_t: t@55, threadID:0xc9fc1dd8, stack_bottom:0xc9fc2000, stack_size:0x20000) prio=5
              >
              > [1] java.lang.Object.wait(Object.java:424)
              > [2] weblogic.kernel.ExecuteThread.waitForRequest(ExecuteThread.java:103)
              > [3] weblogic.kernel.ExecuteThread.run(ExecuteThread.java:111)
              > -------------------
              > "ExecuteThread-41" (TID:0xa74c18, sys_thread_t:0xa74b50, state:CW, thread_t: t@54, threadID:0xca011dd8, stack_bottom:0xca012000, stack_size:0x20000) prio=5
              >
              > [1] java.lang.Object.wait(Object.java:424)
              > [2] weblogic.kernel.ExecuteThread.waitForRequest(ExecuteThread.java:103)
              > [3] weblogic.kernel.ExecuteThread.run(ExecuteThread.java:111)
              > -------------------
              > "ExecuteThread-40" (TID:0xa73858, sys_thread_t:0xa73790, state:CW, thread_t: t@53, threadID:0xca041dd8, stack_bottom:0xca042000, stack_size:0x20000) prio=5
              >
              > [1] java.lang.Object.wait(Object.java:424)
              > [2] weblogic.kernel.ExecuteThread.waitForRequest(ExecuteThread.java:103)
              > [3] weblogic.kernel.ExecuteThread.run(ExecuteThread.java:111)
              > -------------------
              > "ExecuteThread-39" (TID:0xa72498, sys_thread_t:0xa723d0, state:CW, thread_t: t@52, threadID:0xca091dd8, stack_bottom:0xca092000, stack_size:0x20000) prio=5
              >
              > [1] java.lang.Object.wait(Object.java:424)
              > [2] weblogic.kernel.ExecuteThread.waitForRequest(ExecuteThread.java:103)
              > [3] weblogic.kernel.ExecuteThread.run(ExecuteThread.java:111)
              > -------------------
              > "ExecuteThread-38" (TID:0xa712c0, sys_thread_t:0xa711f8, state:CW, thread_t: t@51, threadID:0xca0c1dd8, stack_bottom:0xca0c2000, stack_size:0x20000) prio=5
              >
              > [1] java.lang.Object.wait(Object.java:424)
              > [2] weblogic.kernel.ExecuteThread.waitForRequest(ExecuteThread.java:103)
              > [3] weblogic.kernel.ExecuteThread.run(ExecuteThread.java:111)
              > -------------------
              > "ExecuteThread-37" (TID:0xa6ff00, sys_thread_t:0xa6fe38, state:CW, thread_t: t@50, threadID:0xca111dd8, stack_bottom:0xca112000, stack_size:0x20000) prio=5
              >
              > [1] java.lang.Object.wait(Object.java:424)
              > [2] weblogic.kernel.ExecuteThread.waitForRequest(ExecuteThread.java:103)
              > [3] weblogic.kernel.ExecuteThread.run(ExecuteThread.java:111)
              > -------------------
              > "ExecuteThread-36" (TID:0xa6eb40, sys_thread_t:0xa6ea78, state:CW, thread_t: t@49, threadID:0xca141dd8, stack_bottom:0xca142000, stack_size:0x20000) prio=5
              >
              > [1] java.lang.Object.wait(Object.java:424)
              > [2] weblogic.kernel.ExecuteThread.waitForRequest(ExecuteThread.java:103)
              > [3] weblogic.kernel.ExecuteThread.run(ExecuteThread.java:111)
              > -------------------
              > "ExecuteThread-35" (TID:0xa6d780, sys_thread_t:0xa6d6b8, state:CW, thread_t: t@48, threadID:0xca191dd8, stack_bottom:0xca192000, stack_size:0x20000) prio=5
              >
              > [1] java.lang.Object.wait(Object.java:424)
              > [2] weblogic.kernel.ExecuteThread.waitForRequest(ExecuteThread.java:103)
              > [3] weblogic.kernel.ExecuteThread.run(ExecuteThread.java:111)
              > -------------------
              > "ExecuteThread-34" (TID:0xa3c940, sys_thread_t:0xa3c878, state:CW, thread_t: t@47, threadID:0xca1c1dd8, stack_bottom:0xca1c2000, stack_size:0x20000) prio=5
              >
              > [1] java.lang.Object.wait(Object.java:424)
              > [2] weblogic.kernel.ExecuteThread.waitForRequest(ExecuteThread.java:103)
              > [3] weblogic.kernel.ExecuteThread.run(ExecuteThread.java:111)
              > -------------------
              > "ExecuteThread-33" (TID:0xa3c720, sys_thread_t:0xa3c658, state:CW, thread_t: t@46, threadID:0xca211dd8, stack_bottom:0xca212000, stack_size:0x20000) prio=5
              >
              > [1] java.lang.Object.wait(Object.java:424)
              > [2] weblogic.kernel.ExecuteThread.waitForRequest(ExecuteThread.java:103)
              > [3] weblogic.kernel.ExecuteThread.run(ExecuteThread.java:111)
              > -------------------
              > "ExecuteThread-32" (TID:0xa3aa60, sys_thread_t:0xa3a998, state:CW, thread_t: t@45, threadID:0xca241dd8, stack_bottom:0xca242000, stack_size:0x20000) prio=5
              >
              > [1] java.lang.Object.wait(Object.java:424)
              > [2] weblogic.kernel.ExecuteThread.waitForRequest(ExecuteThread.java:103)
              > [3] weblogic.kernel.ExecuteThread.run(ExecuteThread.java:111)
              > -------------------
              > "ExecuteThread-31" (TID:0xa3a658, sys_thread_t:0xa3a590, state:CW, thread_t: t@44, threadID:0xca291dd8, stack_bottom:0xca292000, stack_size:0x20000) prio=5
              >
              > [1] java.lang.Object.wait(Object.java:424)
              > [2] weblogic.kernel.ExecuteThread.waitForRequest(ExecuteThread.java:103)
              > [3] weblogic.kernel.ExecuteThread.run(ExecuteThread.java:111)
              > -------------------
              > "ExecuteThread-30" (TID:0xa45828, sys_thread_t:0xa45760, state:CW, thread_t: t@43, threadID:0xca2c1dd8, stack_bottom:0xca2c2000, stack_size:0x20000) prio=5
              >
              > [1] java.lang.Object.wait(Object.java:424)
              > [2] weblogic.kernel.ExecuteThread.waitForRequest(ExecuteThread.java:103)
              > [3] weblogic.kernel.ExecuteThread.run(ExecuteThread.java:111)
              > -------------------
              > "ExecuteThread-29" (TID:0xa23d00, sys_thread_t:0xa23c38, state:CW, thread_t: t@42, threadID:0xca311dd8, stack_bottom:0xca312000, stack_size:0x20000) prio=5
              >
              > [1] java.lang.Object.wait(Object.java:424)
              > [2] weblogic.kernel.ExecuteThread.waitForRequest(ExecuteThread.java:103)
              > [3] weblogic.kernel.ExecuteThread.run(ExecuteThread.java:111)
              > -------------------
              > "ExecuteThread-28" (TID:0xa14fe8, sys_thread_t:0xa14f20, state:CW, thread_t: t@41, threadID:0xca341dd8, stack_bottom:0xca342000, stack_size:0x20000) prio=5
              >
              > [1] java.lang.Object.wait(Object.java:424)
              > [2] weblogic.kernel.ExecuteThread.waitForRequest(ExecuteThread.java:103)
              > [3] weblogic.kernel.ExecuteThread.run(ExecuteThread.java:111)
              > -------------------
              > "ExecuteThread-27" (TID:0xa21eb0, sys_thread_t:0xa21de8, state:CW, thread_t: t@40, threadID:0xca391dd8, stack_bottom:0xca392000, stack_size:0x20000) prio=5
              >
              > [1] java.lang.Object.wait(Object.java:424)
              > [2] weblogic.kernel.ExecuteThread.waitForRequest(ExecuteThread.java:103)
              > [3] weblogic.kernel.ExecuteThread.run(ExecuteThread.java:111)
              > -------------------
              > "ExecuteThread-26" (TID:0xa0fee0, sys_thread_t:0xa0fe18, state:CW, thread_t: t@39, threadID:0xca3c1dd8, stack_bottom:0xca3c2000, stack_size:0x20000) prio=5
              >
              > [1] java.lang.Object.wait(Object.java:424)
              > [2] weblogic.kernel.ExecuteThread.waitForRequest(ExecuteThread.java:103)
              > [3] weblogic.kernel.ExecuteThread.run(ExecuteThread.java:111)
              > -------------------
              > "ExecuteThread-25" (TID:0x9c54c8, sys_thread_t:0x9c5400, state:CW, thread_t: t@38, threadID:0xca411dd8, stack_bottom:0xca412000, stack_size:0x20000) prio=5
              >
              > [1] java.lang.Object.wait(Object.java:424)
              > [2] weblogic.kernel.ExecuteThread.waitForRequest(ExecuteThread.java:103)
              > [3] weblogic.kernel.ExecuteThread.run(ExecuteThread.java:111)
              > -------------------
              > "ExecuteThread-24" (TID:0x9c7cc8, sys_thread_t:0x9c7c00, state:CW, thread_t: t@37, threadID:0xca441dd8, stack_bottom:0xca442000, stack_size:0x20000) prio=5
              >
              > [1] java.lang.Object.wait(Object.java:424)
              > [2] weblogic.kernel.ExecuteThread.waitForRequest(ExecuteThread.java:103)
              > [3] weblogic.kernel.ExecuteThread.run(ExecuteThread.java:111)
              > -------------------
              > "ExecuteThread-23" (TID:0xa0acc8, sys_thread_t:0xa0ac00, state:CW, thread_t: t@36, threadID:0xca491dd8, stack_bottom:0xca492000, stack_size:0x20000) prio=5
              >
              > [1] java.lang.Object.wait(Object.java:424)
              > [2] weblogic.kernel.ExecuteThread.waitForRequest(ExecuteThread.java:103)
              > [3] weblogic.kernel.ExecuteThread.run(ExecuteThread.java:111)
              > -------------------
              > "ExecuteThread-22" (TID:0xa17b08, sys_thread_t:0xa17a40, state:CW, thread_t: t@35, threadID:0xca4c1dd8, stack_bottom:0xca4c2000, stack_size:0x20000) prio=5
              >
              > [1] java.lang.Object.wait(Object.java:424)
              > [2] weblogic.kernel.ExecuteThread.waitForRequest(ExecuteThread.java:103)
              > [3] weblogic.kernel.ExecuteThread.run(ExecuteThread.java:111)
              > -------------------
              > "ExecuteThread-21" (TID:0x9c8498, sys_thread_t:0x9c83d0, state:CW, thread_t: t@34, threadID:0xca511dd8, stack_bottom:0xca512000, stack_size:0x20000) prio=5
              >
              > [1] java.lang.Object.wait(Object.java:424)
              > [2] weblogic.kernel.ExecuteThread.waitForRequest(ExecuteThread.java:103)
              > [3] weblogic.kernel.ExecuteThread.run(ExecuteThread.java:111)
              > -------------------
              > "ExecuteThread-20" (TID:0x9fb8f8, sys_thread_t:0x9fb830, state:CW, thread_t: t@33, threadID:0xca541dd8, stack_bottom:0xca542000, stack_size:0x20000) prio=5
              >
              > [1] java.lang.Object.wait(Object.java:424)
              > [2] weblogic.kernel.ExecuteThread.waitForRequest(ExecuteThread.java:103)
              > [3] weblogic.kernel.ExecuteThread.run(ExecuteThread.java:111)
              > -------------------
              > "ExecuteThread-19" (TID:0x9fd4f8, sys_thread_t:0x9fd430, state:CW, thread_t: t@32, threadID:0xca591dd8, stack_bottom:0xca592000, stack_size:0x20000) prio=5
              >
              > [1] java.lang.Object.wait(Object.java:424)
              > [2] weblogic.kernel.ExecuteThread.waitForRequest(ExecuteThread.java:103)
              > [3] weblogic.kernel.ExecuteThread.run(ExecuteThread.java:111)
              > -------------------
              > "ExecuteThread-18" (TID:0xa0f628, sys_thread_t:0xa0f560, state:CW, thread_t: t@31, threadID:0xca5c1dd8, stack_bottom:0xca5c2000, stack_size:0x20000) prio=5
              >
              > [1] java.lang.Object.wait(Object.java:424)
              > [2] weblogic.kernel.ExecuteThread.waitForRequest(ExecuteThread.java:103)
              > [3] weblogic.kernel.ExecuteThread.run(ExecuteThread.java:111)
              > -------------------
              > "ExecuteThread-17" (TID:0x9c0cf8, sys_thread_t:0x9c0c30, state:CW, thread_t: t@30, threadID:0xca611dd8, stack_bottom:0xca612000, stack_size:0x20000) prio=5
              >
              > [1] java.lang.Object.wait(Object.java:424)
              > [2] weblogic.kernel.ExecuteThread.waitForRequest(ExecuteThread.java:103)
              > [3] weblogic.kernel.ExecuteThread.run(ExecuteThread.java:111)
              > -------------------
              > "ExecuteThread-16" (TID:0x9bc4f8, sys_thread_t:0x9bc430, state:CW, thread_t: t@29, threadID:0xca641dd8, stack_bottom:0xca642000, stack_size:0x20000) prio=5
              >
              > [1] java.lang.Object.wait(Object.java:424)
              > [2] weblogic.kernel.ExecuteThread.waitForRequest(ExecuteThread.java:103)
              > [3] weblogic.kernel.ExecuteThread.run(ExecuteThread.java:111)
              > -------------------
              > "ExecuteThread-15" (TID:0x9b38f8, sys_thread_t:0x9b3830, state:CW, thread_t: t@28, threadID:0xca691dd8, stack_bottom:0xca692000, stack_size:0x20000) prio=5
              >
              > [1] java.lang.Object.wait(Object.java:424)
              > [2] weblogic.kernel.ExecuteThread.waitForRequest(ExecuteThread.java:103)
              > [3] weblogic.kernel.ExecuteThread.run(ExecuteThread.java:111)
              > -------------------
              > "ExecuteThread-14" (TID:0x9b3cf8, sys_thread_t:0x9b3c30, state:CW, thread_t: t@27, threadID:0xca6c1dd8, stack_bottom:0xca6c2000, stack_size:0x20000) prio=5
              >
              > [1] java.lang.Object.wait(Object.java:424)
              > [2] weblogic.kernel.ExecuteThread.waitForRequest(ExecuteThread.java:103)
              > [3] weblogic.kernel.ExecuteThread.run(ExecuteThread.java:111)
              > -------------------
              > "ExecuteThread-13" (TID:0x9c94f8, sys_thread_t:0x9c9430, state:CW, thread_t: t@26, threadID:0xca711dd8, stack_bottom:0xca712000, stack_size:0x20000) prio=5
              >
              > [1] java.lang.Object.wait(Object.java:424)
              > [2] weblogic.ke

  • Toplink locking oracle tables?

    Does toplink ever issues a "Lock Table" or "Select xxx From xxx FOR UPDATE"?
    I'm getting a oracle error: ORA-00060: deadlock detected while waiting for resource
    When I query the v$locks table I can see
    SID Type LMODE
    252 TM 3
    From what I've read this is a table lock. Is TM LMODE 3 a table lock? Or just a row exclusive lock?
    http://rahulagarwal.wordpress.com/2006/03/27/locking-in-oracle-dml-locks/

    TopLink never issues a Lock table but can issue a SELECT ... FOR UPDATE. The pessimistic locking SELECT ... FOR UPDATE requires the developer to configure its use on a query or through the UnitOfWork API.
    Doug

  • Combining TopLink with DynaBeans

    I am going to use DynaBeans in an application that uses TopLink for its persistence.
    When I instantiate an object, I have to instantiate a DynaClass object that contains a class description (which is stored in a database), call newInstance on the DynaClass and then set all properties in the resulting DynaBean.
    Does TopLink support such a mechanism. Any pointers?
    TIA,
    Michael

    Michael,
    I have not used DynaBeans myself but TopLink should be able to fit into this environment.
    I am assuming from your question that you will be copying the contents of your persistent object (mapped with TopLink) into a DynaClass object (view object). It is not typical to map and persist the view object itself. These are geared for the presentation layer and do not always have the necessary relationships that the persistent model would have. If I am incorrect in these assumptions let me know.
    Typically this is a manual process to copy values into a presentation layer object. Many customer have built a generic framework for copying from the persistent object into the view object and vice versa. On the return side your application logic will need to cordinate applying the changes from the view object into the persistent ones using the UnitOfWork.
    Some pointers on this front:
    - Typically you'll use optimistic locking to ensure you don't overwrite other users changes accidentally. Make sure if you use an optimistic locking field (timestamp or number) that this value is mapped into the persistent object and copied to and from your view object.
    - When you are developing the write logic make sure you re-read the persistent object through the UnitOfWork to ensure it is in the cache of the server you are writing to and that it has not been deleted from the database. A null returned from the query will indicate it is no longer in the database. Your query to retrieve the persistent object from the UnitOfWork should be primary key (only) based to ensure a cache hit where possible.
    These pointers hsould help you build a stateless system that scales. WHen you migrate to multiple servers you will want to try and configure the cluster to have clients stick to the same node they read their data from. TopLink's cache-sync capabilities will also be useful in minimizing any stale data in the cluster.
    I hope this helps get you started and that it fits with what you are trying to accomplish,
    Doug Clarke
    Product Manager, Oracle9iAS TopLink
    [email protected]
    I am going to use DynaBeans in an application that uses TopLink for its persistence.
    When I instantiate an object, I have to instantiate a DynaClass object that contains a class description (which is stored in a database), call newInstance on the DynaClass and then set all properties in the resulting DynaBean.
    Does TopLink support such a mechanism. Any pointers?
    TIA,
    Michael

  • Clustering TopLink with 10g

    We are trying to use TopLink (version 9.0.4.3) in a cluster of Oracle 10g application servers (9.0.4.0.0) but we are having a number of issues getting it to work. When I add the following into the sessions.xml file I get a number of toplink errors on startup:
    &lt;cache-synchronization-manager&gt;
    &lt;clustering-service&gt;
    oracle.toplink.remote.rmi.RMIJNDIClusteringService
    &lt;/clustering-service&gt;
    &lt;jndi-user-name&gt;userName&lt;/jndi-user-name&gt;
    &lt;jndi-password&gt;password&lt;/jndi-password&gt;
    &lt;naming-service-initial-context-factory-name&gt;
    oracle.com.evermind.server.rmi.RMIInitialContextFactory
    &lt;/naming-service-initial-context-factory-name&gt;
    &lt;naming-service-url&gt;ormi://hostname:23791/appName&lt;/naming-service-url&gt;
    &lt;/cache-synchronization-manager&gt;
    The errors that we get are:
    Exception Description: Several [5] SessionLoaderExceptions were thrown:
    Exception [TOPLINK-9003] (OracleAS TopLink - 10g (9.0.4) (Build 031126)): oracle.toplink.exceptions.SessionLoaderException
    Exception Description: Unable to process XML tag [clustering-service] with value [
    oracle.toplink.remote.rmi.RMIJNDIClusteringService
    Internal Exception: java.lang.ClassNotFoundException:
    oracle.toplink.remote.rmi.RMIJNDIClusteringService
    Exception [TOPLINK-9003] (OracleAS TopLink - 10g (9.0.4) (Build 031126)): oracle.toplink.exceptions.SessionLoaderException
    Exception Description: Unable to process XML tag [jndi-user-name] with value [admin].
    Internal Exception: java.lang.NullPointerException
    Exception [TOPLINK-9003] (OracleAS TopLink - 10g (9.0.4) (Build 031126)): oracle.toplink.exceptions.SessionLoaderException
    Exception Description: Unable to process XML tag [jndi-password] with value [XXX].
    Internal Exception: java.lang.NullPointerException
    Exception [TOPLINK-9003] (OracleAS TopLink - 10g (9.0.4) (Build 031126)): oracle.toplink.exceptions.SessionLoaderException
    Exception Description: Unable to process XML tag [naming-service-initial-context-factory-name] with value [
    oracle.com.evermind.server.rmi.RMIInitialContextFactory
    Internal Exception: java.lang.NullPointerException
    Exception [TOPLINK-9003] (OracleAS TopLink - 10g (9.0.4) (Build 031126)): oracle.toplink.exceptions.SessionLoaderException
    Exception Description: Unable to process XML tag [naming-service-url] with value [ormi://localhost:23791/XXX].
    Internal Exception: java.lang.NullPointerException
    All feedback is appreciated,
    Marc

    There was a recent thread on this issue,
    Missing Descriptor in Servlet
    Basically TopLink does not get notified of the undeployment of an app, so cannot remove the session from the SessionManager. (unless you are using CMP)
    If you can receive notification of the deploy/undeploy you could remove or refresh the session from the session manager.
    A simple way to do this would be to keep a static boolean variable in your apps class that accesses the session from the session manager. The first time you access the session refresh it and set the static to true.
    To refresh a session from the session manager use the API,
    SessionManager.getSession(XMLSessionConfigLoader/XMLLoader xmlLoader, String sessionName, ClassLoader classLoader, boolean shouldLoginSession, boolean shouldRefreshSession)
    i.e.
    SessionManager.getManager().getSession(new XMLSessionConfigLoader/XMLLoader("sessions.xml/or your file name/path"), "yourSessionName", yourClassLoader, true, true);
    Only use this API the first time you access the session from the app.
    You can also use the following code to remove a session,
    SessionManager.getManager().getSessions().remove("yourSessionName");
    I have logged this issue internally, hopefully a better solution will be provided in the 10.1.3 release.

Maybe you are looking for