users@glassfish.java.net

Re: Threads blocked - Apparently in toplink

From: <glassfish_at_javadesktop.org>
Date: Tue, 11 Aug 2009 04:19:35 PDT

It seems to be an identitymap problem in TopLink.

You can try locating the lock (isn't a real db lock) performing the command:

asadmin generate-jvm-report --type=thread

If you find blocked threads referencing TopLink's "oracle.toplink.internal.identitymaps." probably that's your case.

It already happened to me and, in my case, the solution was disabling shared cache. Doing so, if you have more than one session trying to refresh the same entity objects, they will not block, waiting until the other session finishes his work...

You can add the following property in your persistence.xml:

...
    <properties>
        <property name="toplink.cache.shared.default" value="false"/>
    </properties>
...
[Message sent by forum member 'fsanti68' (fsanti68)]

http://forums.java.net/jive/thread.jspa?messageID=359882