camel-commits mailing list archives

Site index · List index
Message view « Date » · « Thread »
Top « Date » · « Thread »
From ningji...@apache.org
Subject [1/2] camel git commit: CAMEL-8168 Fixed the issue that mina2 doesn't unbind from the listening port
Date Wed, 24 Dec 2014 03:49:05 GMT
Repository: camel
Updated Branches:
  refs/heads/camel-2.13.x 64d5bed3e -> 4dd8545f6
  refs/heads/camel-2.14.x 0b53bd2f1 -> 737cf4382


CAMEL-8168 Fixed the issue that mina2 doesn't unbind from the listening port


Project: http://git-wip-us.apache.org/repos/asf/camel/repo
Commit: http://git-wip-us.apache.org/repos/asf/camel/commit/737cf438
Tree: http://git-wip-us.apache.org/repos/asf/camel/tree/737cf438
Diff: http://git-wip-us.apache.org/repos/asf/camel/diff/737cf438

Branch: refs/heads/camel-2.14.x
Commit: 737cf43823e6648fe615fcad019ba566d31c4928
Parents: 0b53bd2
Author: Willem Jiang <willem.jiang@gmail.com>
Authored: Mon Dec 22 08:49:14 2014 +0800
Committer: Willem Jiang <willem.jiang@gmail.com>
Committed: Wed Dec 24 11:19:59 2014 +0800

----------------------------------------------------------------------
 .../apache/camel/component/mina2/Mina2Consumer.java  | 12 +++++++++++-
 .../apache/camel/component/mina2/Mina2TcpTest.java   | 15 +++++++++++++--
 2 files changed, 24 insertions(+), 3 deletions(-)
----------------------------------------------------------------------


http://git-wip-us.apache.org/repos/asf/camel/blob/737cf438/components/camel-mina2/src/main/java/org/apache/camel/component/mina2/Mina2Consumer.java
----------------------------------------------------------------------
diff --git a/components/camel-mina2/src/main/java/org/apache/camel/component/mina2/Mina2Consumer.java
b/components/camel-mina2/src/main/java/org/apache/camel/component/mina2/Mina2Consumer.java
index 29ce424..c2f859a 100644
--- a/components/camel-mina2/src/main/java/org/apache/camel/component/mina2/Mina2Consumer.java
+++ b/components/camel-mina2/src/main/java/org/apache/camel/component/mina2/Mina2Consumer.java
@@ -95,7 +95,17 @@ public class Mina2Consumer extends DefaultConsumer {
     @Override
     protected void doStop() throws Exception {
         LOG.info("Unbinding from server address: {} using acceptor: {}", address, acceptor);
-        acceptor.unbind(address);
+        if (address instanceof InetSocketAddress) {
+            // need to check if the address is IPV4 TCP all net work address
+            if ("0.0.0.0".equals(((InetSocketAddress)address).getAddress().getHostAddress()))
{
+                System.out.println("Unbind the server address " + acceptor.getLocalAddresses());
+                acceptor.unbind(acceptor.getLocalAddresses());
+            } else {
+                acceptor.unbind(address);
+            }   
+        } else {
+            acceptor.unbind(address);
+        }
         super.doStop();
     }
 

http://git-wip-us.apache.org/repos/asf/camel/blob/737cf438/components/camel-mina2/src/test/java/org/apache/camel/component/mina2/Mina2TcpTest.java
----------------------------------------------------------------------
diff --git a/components/camel-mina2/src/test/java/org/apache/camel/component/mina2/Mina2TcpTest.java
b/components/camel-mina2/src/test/java/org/apache/camel/component/mina2/Mina2TcpTest.java
index f268a10..f9b1762 100644
--- a/components/camel-mina2/src/test/java/org/apache/camel/component/mina2/Mina2TcpTest.java
+++ b/components/camel-mina2/src/test/java/org/apache/camel/component/mina2/Mina2TcpTest.java
@@ -26,7 +26,18 @@ import org.junit.Test;
 public class Mina2TcpTest extends BaseMina2Test {
 
     @Test
-    public void testMinaRoute() throws Exception {
+    public void testMinaRoute1() throws Exception {
+        MockEndpoint endpoint = getMockEndpoint("mock:result");
+        Object body = "Hello there!";
+        endpoint.expectedBodiesReceived(body);
+
+        template.sendBodyAndHeader(String.format("mina2:tcp://localhost:%1$s?sync=false&minaLogger=true",
getPort()), body, "cheese", 123);
+
+        assertMockEndpointsSatisfied();
+    }
+    
+    @Test
+    public void testMinaRoute2() throws Exception {
         MockEndpoint endpoint = getMockEndpoint("mock:result");
         Object body = "Hello there!";
         endpoint.expectedBodiesReceived(body);
@@ -40,7 +51,7 @@ public class Mina2TcpTest extends BaseMina2Test {
         return new RouteBuilder() {
 
             public void configure() {
-                from(String.format("mina2:tcp://localhost:%1$s?sync=false&minaLogger=true",
getPort())).to("log:before?showAll=true").to("mock:result").to("log:after?showAll=true");
+                from(String.format("mina2:tcp://0.0.0.0:%1$s?sync=false&minaLogger=true",
getPort())).to("log:before?showAll=true").to("mock:result").to("log:after?showAll=true");
             }
         };
     }


Mime
View raw message