SYMPTOM:
In the enactment engine(JBoss) of uengine v1.0 rc0, You
may see application deadlock detection errors like follows:
Application deadlock detected,
resource=org.jboss.ejb.plugins.lock.QueuedPessimisticEJBLock@af3479,
bean=ProcessVariableRepositoryEJB,
id=Tue_Jun_22_16_51_43_GMT_2004::myInstanceId, refs=2,
tx=TransactionImpl:XidImpl
[FormatId=257,GlobalId=jiyong//2121, BranchQual=],
synched=Thread[Thread Pool Worker-14,5,ASF Session Pool
Threads], timeout=5000, queue=[],
holder=TransactionImpl:XidImpl [FormatId=257,
GlobalId=jiyong//2117, BranchQual=],
waitingResource=org.jboss.ejb.plugins.lock.QueuedPessimisticEJBLock@9e2502,
bean=ProcessInstanceRepositoryEJB,
id=Tue_Jun_22_16_51_43_GMT_2004, refs=2,
tx=TransactionImpl:XidImpl [FormatId=257,
GlobalId=jiyong//2117, BranchQual=], synched=null,
timeout=5000, queue=[TXLOCK
waitingTx=TransactionImpl:XidImpl [FormatId=257,
GlobalId=jiyong//2121, BranchQual=] id=0
thread=Thread[Thread-7,5,jboss] queued=true],
waitingResourceHolder=TransactionImpl:XidImpl
[FormatId=257, GlobalId=jiyong//2117, BranchQual=]
2:38:04,314 ERROR [STDERR] at
org.jboss.ejb.plugins.LogInterceptor.handleException(LogInterceptor.java:386)
SOLUTION:
Simply replace your service-descriptor as attached,
which switches some attributes on entity bean access
policy in order to avoid deadlocks.
following instructions will guide the patch process:
1. Stop your uengine server if running.
2. extract the uengine.jar archive file located in
"was/server/default/deploy/uengine.jar".
3. replace the service descriptor file with attached
one - "jboss.xml" and then compress the archive
directory again and remove the directory.
4. restart uengine.
uEngine service descriptor file for the patch