Author: gnodet
Date: Thu Dec 21 13:12:49 2006
New Revision: 489462
URL: http://svn.apache.org/viewvc?view=rev&rev=489462
Log:
ProviderEndpoint does not correctly handle synchronous / transactional exchanges
Modified:
incubator/servicemix/trunk/common/servicemix-common/src/main/java/org/apache/servicemix/common/endpoints/ProviderEndpoint.java
Modified:
incubator/servicemix/trunk/common/servicemix-common/src/main/java/org/apache/servicemix/common/endpoints/ProviderEndpoint.java
URL:
http://svn.apache.org/viewvc/incubator/servicemix/trunk/common/servicemix-common/src/main/java/org/apache/servicemix/common/endpoints/ProviderEndpoint.java?view=diff&rev=489462&r1=489461&r2=489462
==============================================================================
---
incubator/servicemix/trunk/common/servicemix-common/src/main/java/org/apache/servicemix/common/endpoints/ProviderEndpoint.java
(original)
+++
incubator/servicemix/trunk/common/servicemix-common/src/main/java/org/apache/servicemix/common/endpoints/ProviderEndpoint.java
Thu Dec 21 13:12:49 2006
@@ -26,6 +26,7 @@
import javax.jbi.servicedesc.ServiceEndpoint;
import javax.xml.namespace.QName;
+import org.apache.servicemix.JbiConstants;
import org.apache.servicemix.common.DefaultComponent;
import org.apache.servicemix.common.ServiceUnit;
@@ -106,7 +107,12 @@
exchange.setMessage(out, "out");
}
processInOut(exchange, in, out);
- send(exchange);
+ boolean txSync = exchange.isTransacted() &&
Boolean.TRUE.equals(exchange.getProperty(JbiConstants.SEND_SYNC));
+ if (txSync) {
+ sendSync(exchange);
+ } else {
+ send(exchange);
+ }
}
// This is not compliant with the default MEPs
} else {