AnsweredAssumed Answered

JCR Concurrency

Question asked by danul on Sep 1, 2006
Latest reply on Sep 5, 2006 by andy
I'm currently experiencing a few issues with concurrency when accessing alfresco via RMI.  Basically i've set up a simple test to throw 10 threads at alfresco and execute some queries.  The result i've been getting however is this:



[java.lang.RuntimeException: UserTransaction may not be accessed by multiple threads]</br>
java.lang.RuntimeException: UserTransaction may not be accessed by multiple threads
   at org.alfresco.util.transaction.SpringAwareUserTransaction.getTransactionInfo(SpringAwareUserTransaction.java:234)
   at org.alfresco.util.transaction.SpringAwareUserTransaction.rollback(SpringAwareUserTransaction.java:436)
   at org.alfresco.jcr.session.SessionImpl$InnerTransaction.rollback(SessionImpl.java:974)
   at org.alfresco.jcr.session.SessionImpl.logout(SessionImpl.java:654)
   at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
   at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:39)

   at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:25)
   at java.lang.reflect.Method.invoke(Method.java:585)
   at org.alfresco.jcr.util.JCRProxyFactory$SessionContextInvocationHandler.invoke(JCRProxyFactory.java:130)
   at $Proxy116.logout(Unknown Source)
   at org.apache.jackrabbit.rmi.server.ServerSession.logout(ServerSession.java:229)
   at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
   at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:39)
   at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:25)
   at java.lang.reflect.Method.invoke(Method.java:585)
   at sun.rmi.server.UnicastServerRef.dispatch(UnicastServerRef.java:294)
   at sun.rmi.transport.Transport$1.run(Transport.java:153)
   at java.security.AccessController.doPrivileged(Native Method)
   at sun.rmi.transport.Transport.serviceCall(Transport.java:149)
– snip –


Has anyone encountered anything else like this?  Admittedly the test is very simple and is running off the same user name…

Cheers

Daniel

Outcomes