Author: gatfora
Date: Thu Apr 26 02:57:46 2007
New Revision: 532688
URL: http://svn.apache.org/viewvc?view=rev&rev=532688
Log:
Avoid deadlock between Invoker and InvokerWorker when dealing with a 2-way
message. Deadlock is caused by RMDBean and InvokerBean taken in different
orders.
Modified:
webservices/sandesha/trunk/java/modules/core/src/main/java/org/apache/sandesha2/workers/InvokerWorker.java
Modified:
webservices/sandesha/trunk/java/modules/core/src/main/java/org/apache/sandesha2/workers/InvokerWorker.java
URL:
http://svn.apache.org/viewvc/webservices/sandesha/trunk/java/modules/core/src/main/java/org/apache/sandesha2/workers/InvokerWorker.java?view=diff&rev=532688&r1=532687&r2=532688
==============================================================================
---
webservices/sandesha/trunk/java/modules/core/src/main/java/org/apache/sandesha2/workers/InvokerWorker.java
(original)
+++
webservices/sandesha/trunk/java/modules/core/src/main/java/org/apache/sandesha2/workers/InvokerWorker.java
Thu Apr 26 02:57:46 2007
@@ -65,6 +65,8 @@
//starting a transaction for the invocation work.
transaction = storageManager.getTransaction();
+ // Lock the RMD Bean just to avoid deadlocks
+ SandeshaUtil.getRMDBeanFromSequenceId(storageManager,
invokerBean.getSequenceID());
// Depending on the transaction support, the service
will be invoked only once.
// Therefore we delete the invoker bean and message
now, ahead of time
invokerBeanMgr.delete(messageContextKey);
---------------------------------------------------------------------
To unsubscribe, e-mail: [EMAIL PROTECTED]
For additional commands, e-mail: [EMAIL PROTECTED]