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);

+        }

+    }

     

 }



Reply via email to