Author: gnodet
Date: Wed Oct 4 04:41:09 2006
New Revision: 452856
URL: http://svn.apache.org/viewvc?view=rev&rev=452856
Log:
SM-668: JCAFlow should reject synchronous exchanges
Modified:
incubator/servicemix/trunk/servicemix-core/src/main/java/org/apache/servicemix/jbi/nmr/flow/jca/JCAFlow.java
incubator/servicemix/trunk/servicemix-core/src/test/java/org/apache/servicemix/jbi/nmr/flow/jca/JcaFlowWithTxLogTest.java
Modified:
incubator/servicemix/trunk/servicemix-core/src/main/java/org/apache/servicemix/jbi/nmr/flow/jca/JCAFlow.java
URL:
http://svn.apache.org/viewvc/incubator/servicemix/trunk/servicemix-core/src/main/java/org/apache/servicemix/jbi/nmr/flow/jca/JCAFlow.java?view=diff&rev=452856&r1=452855&r2=452856
==============================================================================
---
incubator/servicemix/trunk/servicemix-core/src/main/java/org/apache/servicemix/jbi/nmr/flow/jca/JCAFlow.java
(original)
+++
incubator/servicemix/trunk/servicemix-core/src/main/java/org/apache/servicemix/jbi/nmr/flow/jca/JCAFlow.java
Wed Oct 4 04:41:09 2006
@@ -344,7 +344,7 @@
* @return true if this flow can handle the given exchange
*/
public boolean canHandle(MessageExchange me) {
- if (isTransacted(me) && isSynchronous(me)) {
+ if (isSynchronous(me)) {
return false;
}
return true;
Modified:
incubator/servicemix/trunk/servicemix-core/src/test/java/org/apache/servicemix/jbi/nmr/flow/jca/JcaFlowWithTxLogTest.java
URL:
http://svn.apache.org/viewvc/incubator/servicemix/trunk/servicemix-core/src/test/java/org/apache/servicemix/jbi/nmr/flow/jca/JcaFlowWithTxLogTest.java?view=diff&rev=452856&r1=452855&r2=452856
==============================================================================
---
incubator/servicemix/trunk/servicemix-core/src/test/java/org/apache/servicemix/jbi/nmr/flow/jca/JcaFlowWithTxLogTest.java
(original)
+++
incubator/servicemix/trunk/servicemix-core/src/test/java/org/apache/servicemix/jbi/nmr/flow/jca/JcaFlowWithTxLogTest.java
Wed Oct 4 04:41:09 2006
@@ -110,7 +110,7 @@
senderContainer.setName("senderContainer");
senderContainer.setFlows(new Flow[] { senderFlow} );
senderContainer.setMonitorInstallationDirectory(false);
- senderContainer.setAutoEnlistInTransaction(false);
+ senderContainer.setAutoEnlistInTransaction(true);
senderContainer.init();
senderContainer.start();
@@ -135,20 +135,24 @@
}
public void testClusteredInOut() throws Exception {
- QName service = new QName("http://org.echo", "echo");
- MyEchoComponent echoComponent = new MyEchoComponent();
- echoComponent.setService(service);
- echoComponent.setEndpoint("echo");
- ActivationSpec activationSpec = new ActivationSpec("echo",
echoComponent);
- activationSpec.setService(service);
- receiverContainer.activateComponent(activationSpec);
- DefaultServiceMixClient client = new
DefaultServiceMixClient(senderContainer);
- InOut inOut = client.createInOutExchange(service, null, null);
- NormalizedMessage inMessage = inOut.createMessage();
- inMessage.setContent(new StringSource("<test/>"));
- inOut.setInMessage(inMessage);
- client.sendSync(inOut, 1000);
- assertNotNull(inOut.getOutMessage());
- }
+ QName service = new QName("http://org.echo", "echo");
+ MyEchoComponent echoComponent = new MyEchoComponent();
+ echoComponent.setService(service);
+ echoComponent.setEndpoint("echo");
+ ActivationSpec activationSpec = new ActivationSpec("echo",
echoComponent);
+ activationSpec.setService(service);
+ receiverContainer.activateComponent(activationSpec);
+ DefaultServiceMixClient client = new
DefaultServiceMixClient(senderContainer);
+ for (int i = 0; i < 10; i++) {
+ InOut inOut = client.createInOutExchange(service, null, null);
+ NormalizedMessage inMessage = inOut.createMessage();
+ inMessage.setContent(new StringSource("<test id='" + i + "'/>"));
+ inOut.setInMessage(inMessage);
+ client.send(inOut);
+ inOut = (InOut) client.receive(1000);
+ assertNotNull(inOut.getOutMessage());
+ client.done(inOut);
+ }
+ }
}