Author: davsclaus
Date: Wed Dec  3 06:11:08 2008
New Revision: 722893

URL: http://svn.apache.org/viewvc?rev=722893&view=rev
Log:
Merged revisions 722878 via svnmerge from 
https://svn.apache.org/repos/asf/activemq/camel/trunk

........
  r722878 | davsclaus | 2008-12-03 14:15:57 +0100 (on, 03 dec 2008) | 1 line
  
  CAMEL-1140: MinaProducer now throws CamelExchangeException if no message 
received from remote server when sync=true
........

Added:
    
activemq/camel/branches/camel-1.x/components/camel-mina/src/test/java/org/apache/camel/component/mina/MinaNoResponseFromServerTest.java
      - copied, changed from r722878, 
activemq/camel/trunk/components/camel-mina/src/test/java/org/apache/camel/component/mina/MinaNoResponseFromServerTest.java
Modified:
    activemq/camel/branches/camel-1.x/   (props changed)
    
activemq/camel/branches/camel-1.x/components/camel-mina/src/main/java/org/apache/camel/component/mina/MinaProducer.java
    
activemq/camel/branches/camel-1.x/components/camel-mina/src/test/java/org/apache/camel/component/mina/MinaConsumerTest.java
    
activemq/camel/branches/camel-1.x/components/camel-mina/src/test/java/org/apache/camel/component/mina/MinaCustomCodecTest.java
    
activemq/camel/branches/camel-1.x/components/camel-mina/src/test/java/org/apache/camel/component/mina/MinaInOutRouteTextLineDelimiterTest.java
   (props changed)
    
activemq/camel/branches/camel-1.x/components/camel-mina/src/test/java/org/apache/camel/component/mina/MinaProducerShutdownMockTest.java
    
activemq/camel/branches/camel-1.x/components/camel-mina/src/test/java/org/apache/camel/component/mina/MinaProducerShutdownTest.java
    
activemq/camel/branches/camel-1.x/components/camel-mina/src/test/java/org/apache/camel/component/mina/MinaTcpLineDelimiterUsingPlainSocketTest.java
   (props changed)
    
activemq/camel/branches/camel-1.x/components/camel-mina/src/test/java/org/apache/camel/component/mina/MinaTcpTest.java
    
activemq/camel/branches/camel-1.x/components/camel-mina/src/test/java/org/apache/camel/component/mina/MinaTcpTextlineDelimiterTest.java
   (contents, props changed)
    
activemq/camel/branches/camel-1.x/components/camel-mina/src/test/java/org/apache/camel/component/mina/MinaTcpTextlineProtocolTest.java

Propchange: activemq/camel/branches/camel-1.x/
------------------------------------------------------------------------------
--- svn:mergeinfo (original)
+++ svn:mergeinfo Wed Dec  3 06:11:08 2008
@@ -1 +1 @@
-/activemq/camel/trunk:709850,711200,711206,711219-711220,711523,711531,711756,711784,711859,711874,711962,711971,712064,712119,712148,712662,712692,712925,713013,713107,713136,713273,713290,713292,713295,713314,713475,713625,713932,713944,714032,717965,717989,718242,718273,718312-718515,719163-719184,719334,719339,719524,719662,719848,719851,719855,719864,719978-719979,720207,720435-720437,720806,721272,721331,721333-721334,721360,721669,721764,721813,721985,722005,722070,722110,722415,722438,722726,722845
+/activemq/camel/trunk:709850,711200,711206,711219-711220,711523,711531,711756,711784,711859,711874,711962,711971,712064,712119,712148,712662,712692,712925,713013,713107,713136,713273,713290,713292,713295,713314,713475,713625,713932,713944,714032,717965,717989,718242,718273,718312-718515,719163-719184,719334,719339,719524,719662,719848,719851,719855,719864,719978-719979,720207,720435-720437,720806,721272,721331,721333-721334,721360,721669,721764,721813,721985,722005,722070,722110,722415,722438,722726,722845,722878

Propchange: activemq/camel/branches/camel-1.x/
------------------------------------------------------------------------------
Binary property 'svnmerge-integrated' - no diff available.

Modified: 
activemq/camel/branches/camel-1.x/components/camel-mina/src/main/java/org/apache/camel/component/mina/MinaProducer.java
URL: 
http://svn.apache.org/viewvc/activemq/camel/branches/camel-1.x/components/camel-mina/src/main/java/org/apache/camel/component/mina/MinaProducer.java?rev=722893&r1=722892&r2=722893&view=diff
==============================================================================
--- 
activemq/camel/branches/camel-1.x/components/camel-mina/src/main/java/org/apache/camel/component/mina/MinaProducer.java
 (original)
+++ 
activemq/camel/branches/camel-1.x/components/camel-mina/src/main/java/org/apache/camel/component/mina/MinaProducer.java
 Wed Dec  3 06:11:08 2008
@@ -20,7 +20,7 @@
 import java.util.concurrent.CountDownLatch;
 import java.util.concurrent.TimeUnit;
 
-import org.apache.camel.CamelException;
+import org.apache.camel.CamelExchangeException;
 import org.apache.camel.Exchange;
 import org.apache.camel.ExchangeTimedOutException;
 import org.apache.camel.Producer;
@@ -50,7 +50,6 @@
     private IoConnector connector;
     private boolean sync;
 
-    @SuppressWarnings({"unchecked"})
     public MinaProducer(MinaEndpoint endpoint) {
         super(endpoint);
         this.endpoint = endpoint;
@@ -82,7 +81,11 @@
         if (sync) {
             // only initialize latch if we should get a response
             latch = new CountDownLatch(1);
+            // reset handler if we expect a response
+            ResponseHandler handler = (ResponseHandler) session.getHandler();
+            handler.reset();
         }
+
         // write the body
         if (LOG.isDebugEnabled()) {
             LOG.debug("Writing body: " + body);
@@ -100,7 +103,10 @@
             // did we get a response
             ResponseHandler handler = (ResponseHandler) session.getHandler();
             if (handler.getCause() != null) {
-                throw new CamelException("Response Handler had an exception", 
handler.getCause());
+                throw new CamelExchangeException("Response Handler had an 
exception", exchange, handler.getCause());
+            } else if (!handler.isMessageRecieved()) {
+                // no message received
+                throw new CamelExchangeException("No response received from 
remote server: " + endpoint.getEndpointUri(), exchange);
             } else {
                 // set the result on either IN or OUT on the original exchange 
depending on its pattern
                 if (ExchangeHelper.isOutCapable(exchange)) {
@@ -165,18 +171,26 @@
         private MinaEndpoint endpoint;
         private Object message;
         private Throwable cause;
+        private boolean messageRecieved;
 
         private ResponseHandler(MinaEndpoint endpoint) {
             this.endpoint = endpoint;
         }
 
+        public void reset() {
+            this.message = null;
+            this.cause = null;
+            this.messageRecieved = false;
+        }
+
         @Override
         public void messageReceived(IoSession ioSession, Object message) 
throws Exception {
             if (LOG.isDebugEnabled()) {
                 LOG.debug("Message received: " + message);
             }
-            cause = null;
             this.message = message;
+            messageRecieved = true;
+            cause = null;
             countDown();
         }
 
@@ -205,6 +219,7 @@
             LOG.error("Exception on receiving message from address: " + 
this.endpoint.getAddress()
                     + " using connector: " + this.endpoint.getConnector(), 
cause);
             this.message = null;
+            this.messageRecieved = false;
             this.cause = cause;
             if (ioSession != null) {
                 ioSession.close();
@@ -218,6 +233,10 @@
         public Object getMessage() {
             return this.message;
         }
+
+        public boolean isMessageRecieved() {
+            return messageRecieved;
+        }
     }
 
 }

Modified: 
activemq/camel/branches/camel-1.x/components/camel-mina/src/test/java/org/apache/camel/component/mina/MinaConsumerTest.java
URL: 
http://svn.apache.org/viewvc/activemq/camel/branches/camel-1.x/components/camel-mina/src/test/java/org/apache/camel/component/mina/MinaConsumerTest.java?rev=722893&r1=722892&r2=722893&view=diff
==============================================================================
--- 
activemq/camel/branches/camel-1.x/components/camel-mina/src/test/java/org/apache/camel/component/mina/MinaConsumerTest.java
 (original)
+++ 
activemq/camel/branches/camel-1.x/components/camel-mina/src/test/java/org/apache/camel/component/mina/MinaConsumerTest.java
 Wed Dec  3 06:11:08 2008
@@ -33,7 +33,7 @@
         MockEndpoint mock = getMockEndpoint("mock:result");
         mock.expectedBodiesReceived("Hello World");
 
-        template.sendBody("mina:tcp://localhost:6200?textline=true", "Hello 
World");
+        
template.sendBody("mina:tcp://localhost:6200?textline=true&sync=false", "Hello 
World");
 
         assertMockEndpointsSatisifed();
         // END SNIPPET: e2

Modified: 
activemq/camel/branches/camel-1.x/components/camel-mina/src/test/java/org/apache/camel/component/mina/MinaCustomCodecTest.java
URL: 
http://svn.apache.org/viewvc/activemq/camel/branches/camel-1.x/components/camel-mina/src/test/java/org/apache/camel/component/mina/MinaCustomCodecTest.java?rev=722893&r1=722892&r2=722893&view=diff
==============================================================================
--- 
activemq/camel/branches/camel-1.x/components/camel-mina/src/test/java/org/apache/camel/component/mina/MinaCustomCodecTest.java
 (original)
+++ 
activemq/camel/branches/camel-1.x/components/camel-mina/src/test/java/org/apache/camel/component/mina/MinaCustomCodecTest.java
 Wed Dec  3 06:11:08 2008
@@ -41,7 +41,7 @@
         mock.expectedMessageCount(1);
         mock.expectedBodiesReceived("Bye World");
 
-        template.sendBody(uri, "Hello World");
+        template.requestBody(uri, "Hello World");
 
         mock.assertIsSatisfied();
     }
@@ -64,7 +64,7 @@
     protected RouteBuilder createRouteBuilder() throws Exception {
         return new RouteBuilder() {
             public void configure() throws Exception {
-                from(uri).to("mock:result");
+                from(uri).transform(constant("Bye World")).to("mock:result");
             }
         };
     }
@@ -75,8 +75,9 @@
             return new ProtocolEncoder() {
                 public void encode(IoSession ioSession, Object message, 
ProtocolEncoderOutput out)
                     throws Exception {
-                    ByteBuffer bb = ByteBuffer.allocate(9).setAutoExpand(true);
-                    bb.put("Bye World".getBytes());
+                    ByteBuffer bb = 
ByteBuffer.allocate(32).setAutoExpand(true);
+                    String s = (String) message;
+                    bb.put(s.getBytes());
                     bb.flip();
                     out.write(bb);
                 }

Propchange: 
activemq/camel/branches/camel-1.x/components/camel-mina/src/test/java/org/apache/camel/component/mina/MinaInOutRouteTextLineDelimiterTest.java
------------------------------------------------------------------------------
--- svn:mergeinfo (original)
+++ svn:mergeinfo Wed Dec  3 06:11:08 2008
@@ -0,0 +1 @@
+/activemq/camel/trunk/components/camel-mina/src/test/java/org/apache/camel/component/mina/MinaInOutRouteTextLineDelimiterTest.java:722878

Copied: 
activemq/camel/branches/camel-1.x/components/camel-mina/src/test/java/org/apache/camel/component/mina/MinaNoResponseFromServerTest.java
 (from r722878, 
activemq/camel/trunk/components/camel-mina/src/test/java/org/apache/camel/component/mina/MinaNoResponseFromServerTest.java)
URL: 
http://svn.apache.org/viewvc/activemq/camel/branches/camel-1.x/components/camel-mina/src/test/java/org/apache/camel/component/mina/MinaNoResponseFromServerTest.java?p2=activemq/camel/branches/camel-1.x/components/camel-mina/src/test/java/org/apache/camel/component/mina/MinaNoResponseFromServerTest.java&p1=activemq/camel/trunk/components/camel-mina/src/test/java/org/apache/camel/component/mina/MinaNoResponseFromServerTest.java&r1=722878&r2=722893&rev=722893&view=diff
==============================================================================
--- 
activemq/camel/trunk/components/camel-mina/src/test/java/org/apache/camel/component/mina/MinaNoResponseFromServerTest.java
 (original)
+++ 
activemq/camel/branches/camel-1.x/components/camel-mina/src/test/java/org/apache/camel/component/mina/MinaNoResponseFromServerTest.java
 Wed Dec  3 06:11:08 2008
@@ -16,8 +16,8 @@
  */
 package org.apache.camel.component.mina;
 
-import org.apache.camel.ContextTestSupport;
 import org.apache.camel.CamelExchangeException;
+import org.apache.camel.ContextTestSupport;
 import org.apache.camel.RuntimeCamelException;
 import org.apache.camel.builder.RouteBuilder;
 import org.apache.camel.component.mock.MockEndpoint;

Modified: 
activemq/camel/branches/camel-1.x/components/camel-mina/src/test/java/org/apache/camel/component/mina/MinaProducerShutdownMockTest.java
URL: 
http://svn.apache.org/viewvc/activemq/camel/branches/camel-1.x/components/camel-mina/src/test/java/org/apache/camel/component/mina/MinaProducerShutdownMockTest.java?rev=722893&r1=722892&r2=722893&view=diff
==============================================================================
--- 
activemq/camel/branches/camel-1.x/components/camel-mina/src/test/java/org/apache/camel/component/mina/MinaProducerShutdownMockTest.java
 (original)
+++ 
activemq/camel/branches/camel-1.x/components/camel-mina/src/test/java/org/apache/camel/component/mina/MinaProducerShutdownMockTest.java
 Wed Dec  3 06:11:08 2008
@@ -35,13 +35,12 @@
  */
 public class MinaProducerShutdownMockTest extends ContextTestSupport {
 
-    private static final String URI = 
"mina:tcp://localhost:6321?textline=true";
+    private static final String URI = 
"mina:tcp://localhost:6321?textline=true&sync=false";
 
     public void testProducerShutdownTestingWithMock() throws Exception {
         MockEndpoint mock = getMockEndpoint("mock:result");
         mock.expectedBodiesReceived("Hello World");
 
-
         // create our mock and record expected behavior = that worker timeout 
should be set to 0
         SocketConnector mockConnector = createMock(SocketConnector.class);
         mockConnector.setWorkerTimeout(0);

Modified: 
activemq/camel/branches/camel-1.x/components/camel-mina/src/test/java/org/apache/camel/component/mina/MinaProducerShutdownTest.java
URL: 
http://svn.apache.org/viewvc/activemq/camel/branches/camel-1.x/components/camel-mina/src/test/java/org/apache/camel/component/mina/MinaProducerShutdownTest.java?rev=722893&r1=722892&r2=722893&view=diff
==============================================================================
--- 
activemq/camel/branches/camel-1.x/components/camel-mina/src/test/java/org/apache/camel/component/mina/MinaProducerShutdownTest.java
 (original)
+++ 
activemq/camel/branches/camel-1.x/components/camel-mina/src/test/java/org/apache/camel/component/mina/MinaProducerShutdownTest.java
 Wed Dec  3 06:11:08 2008
@@ -30,7 +30,7 @@
  */
 public class MinaProducerShutdownTest {
 
-    private static final String URI = 
"mina:tcp://localhost:6321?textline=true";
+    private static final String URI = 
"mina:tcp://localhost:6321?textline=true&sync=false";
     private long start;
 
     private CamelContext context;

Propchange: 
activemq/camel/branches/camel-1.x/components/camel-mina/src/test/java/org/apache/camel/component/mina/MinaTcpLineDelimiterUsingPlainSocketTest.java
------------------------------------------------------------------------------
--- svn:mergeinfo (original)
+++ svn:mergeinfo Wed Dec  3 06:11:08 2008
@@ -0,0 +1 @@
+/activemq/camel/trunk/components/camel-mina/src/test/java/org/apache/camel/component/mina/MinaTcpLineDelimiterUsingPlainSocketTest.java:722878

Modified: 
activemq/camel/branches/camel-1.x/components/camel-mina/src/test/java/org/apache/camel/component/mina/MinaTcpTest.java
URL: 
http://svn.apache.org/viewvc/activemq/camel/branches/camel-1.x/components/camel-mina/src/test/java/org/apache/camel/component/mina/MinaTcpTest.java?rev=722893&r1=722892&r2=722893&view=diff
==============================================================================
--- 
activemq/camel/branches/camel-1.x/components/camel-mina/src/test/java/org/apache/camel/component/mina/MinaTcpTest.java
 (original)
+++ 
activemq/camel/branches/camel-1.x/components/camel-mina/src/test/java/org/apache/camel/component/mina/MinaTcpTest.java
 Wed Dec  3 06:11:08 2008
@@ -22,7 +22,7 @@
 public class MinaTcpTest extends MinaVmTest {
     @Override
     protected void setUp() throws Exception {
-        uri = "mina:tcp://localhost:6123";
+        uri = "mina:tcp://localhost:6123?sync=false";
         super.setUp();
     }
 }

Modified: 
activemq/camel/branches/camel-1.x/components/camel-mina/src/test/java/org/apache/camel/component/mina/MinaTcpTextlineDelimiterTest.java
URL: 
http://svn.apache.org/viewvc/activemq/camel/branches/camel-1.x/components/camel-mina/src/test/java/org/apache/camel/component/mina/MinaTcpTextlineDelimiterTest.java?rev=722893&r1=722892&r2=722893&view=diff
==============================================================================
--- 
activemq/camel/branches/camel-1.x/components/camel-mina/src/test/java/org/apache/camel/component/mina/MinaTcpTextlineDelimiterTest.java
 (original)
+++ 
activemq/camel/branches/camel-1.x/components/camel-mina/src/test/java/org/apache/camel/component/mina/MinaTcpTextlineDelimiterTest.java
 Wed Dec  3 06:11:08 2008
@@ -22,7 +22,7 @@
 public class MinaTcpTextlineDelimiterTest extends MinaVmTest {
     @Override
     protected void setUp() throws Exception {
-        uri = "mina:tcp://localhost:6124?textline=true&textlineDelimiter=UNIX";
+        uri = 
"mina:tcp://localhost:6124?sync=false&textline=true&textlineDelimiter=UNIX";
         super.setUp();
     }
 }
\ No newline at end of file

Propchange: 
activemq/camel/branches/camel-1.x/components/camel-mina/src/test/java/org/apache/camel/component/mina/MinaTcpTextlineDelimiterTest.java
------------------------------------------------------------------------------
--- svn:mergeinfo (original)
+++ svn:mergeinfo Wed Dec  3 06:11:08 2008
@@ -0,0 +1 @@
+/activemq/camel/trunk/components/camel-mina/src/test/java/org/apache/camel/component/mina/MinaTcpTextlineDelimiterTest.java:722878

Modified: 
activemq/camel/branches/camel-1.x/components/camel-mina/src/test/java/org/apache/camel/component/mina/MinaTcpTextlineProtocolTest.java
URL: 
http://svn.apache.org/viewvc/activemq/camel/branches/camel-1.x/components/camel-mina/src/test/java/org/apache/camel/component/mina/MinaTcpTextlineProtocolTest.java?rev=722893&r1=722892&r2=722893&view=diff
==============================================================================
--- 
activemq/camel/branches/camel-1.x/components/camel-mina/src/test/java/org/apache/camel/component/mina/MinaTcpTextlineProtocolTest.java
 (original)
+++ 
activemq/camel/branches/camel-1.x/components/camel-mina/src/test/java/org/apache/camel/component/mina/MinaTcpTextlineProtocolTest.java
 Wed Dec  3 06:11:08 2008
@@ -22,7 +22,7 @@
 public class MinaTcpTextlineProtocolTest extends MinaVmTest {
     @Override
     protected void setUp() throws Exception {
-        uri = "mina:tcp://localhost:6124?textline=true";
+        uri = "mina:tcp://localhost:6124?textline=true&sync=false";
         super.setUp();
     }
 }


Reply via email to