From 3118596427b2789bcbd134dd691c34af064d7574 Mon Sep 17 00:00:00 2001 From: Gary Russell Date: Tue, 20 Oct 2015 14:47:53 -0400 Subject: [PATCH] INT-3860: TCP - Fix Port Conflicts JIRA: https://jira.spring.io/browse/INT-3860 Similar to INT-3794, if some other process is bound to all adapters $ lsof -i tcp -nP | grep 9000 java 6604 grussell 380u IPv6 0x407e749ec47fa337 0t0 TCP *:9000 (LISTEN) The socket utils reports that the localhost is available for binding; however, the test then binds to all adapters. 1. Where (easily) possible, change tests to use port=0 and let the OS choose. 2. For other tests, use high-numbered ports. 3. Change tests to explicitly bind to localhost (like the utility did). 4. Fix `tcpOutboundGatewayInsideChain` test to use the correct port. Polishing - Fix Travis Bind SOLingerTests to localhost. Since we're using port 0, we have to wait until listening before calling getPort(). --- .../ip/tcp/AutoStartTests-context.xml | 5 ++-- .../tcp/ClientModeControlBusTests-context.xml | 1 + .../TcpConfigOutboundGatewayTests-context.xml | 6 ++++- ...ChannelAdapterWithinChainTests-context.xml | 3 ++- .../integration/ip/tcp/common-context.xml | 24 ++++++++++++------- .../tcp/connection/SOLingerTests-context.xml | 20 +++++++++------- .../ip/tcp/connection/SOLingerTests.java | 4 ++-- 7 files changed, 40 insertions(+), 23 deletions(-) diff --git a/spring-integration-ip/src/test/java/org/springframework/integration/ip/tcp/AutoStartTests-context.xml b/spring-integration-ip/src/test/java/org/springframework/integration/ip/tcp/AutoStartTests-context.xml index 9d3877d173..47bd0da2c2 100644 --- a/spring-integration-ip/src/test/java/org/springframework/integration/ip/tcp/AutoStartTests-context.xml +++ b/spring-integration-ip/src/test/java/org/springframework/integration/ip/tcp/AutoStartTests-context.xml @@ -7,11 +7,10 @@ http://www.springframework.org/schema/integration http://www.springframework.org/schema/integration/spring-integration.xsd http://www.springframework.org/schema/beans http://www.springframework.org/schema/beans/spring-beans.xsd"> - - diff --git a/spring-integration-ip/src/test/java/org/springframework/integration/ip/tcp/ClientModeControlBusTests-context.xml b/spring-integration-ip/src/test/java/org/springframework/integration/ip/tcp/ClientModeControlBusTests-context.xml index 6af24eaef9..7fd8204c25 100644 --- a/spring-integration-ip/src/test/java/org/springframework/integration/ip/tcp/ClientModeControlBusTests-context.xml +++ b/spring-integration-ip/src/test/java/org/springframework/integration/ip/tcp/ClientModeControlBusTests-context.xml @@ -20,6 +20,7 @@ type="server" using-nio="true" port="#{tcpIpUtils.findAvailableServerSocket(12000)}" + local-address="localhost" lookup-host="false" so-timeout="20000" /> diff --git a/spring-integration-ip/src/test/java/org/springframework/integration/ip/tcp/TcpConfigOutboundGatewayTests-context.xml b/spring-integration-ip/src/test/java/org/springframework/integration/ip/tcp/TcpConfigOutboundGatewayTests-context.xml index e9b1a1c166..61b82f8cb9 100644 --- a/spring-integration-ip/src/test/java/org/springframework/integration/ip/tcp/TcpConfigOutboundGatewayTests-context.xml +++ b/spring-integration-ip/src/test/java/org/springframework/integration/ip/tcp/TcpConfigOutboundGatewayTests-context.xml @@ -26,7 +26,8 @@ @@ -37,6 +38,9 @@ serializer="crLfSerializer" deserializer="crLfSerializer"/> + diff --git a/spring-integration-ip/src/test/java/org/springframework/integration/ip/tcp/TcpOutboundChannelAdapterWithinChainTests-context.xml b/spring-integration-ip/src/test/java/org/springframework/integration/ip/tcp/TcpOutboundChannelAdapterWithinChainTests-context.xml index f990373f16..69fde253e9 100644 --- a/spring-integration-ip/src/test/java/org/springframework/integration/ip/tcp/TcpOutboundChannelAdapterWithinChainTests-context.xml +++ b/spring-integration-ip/src/test/java/org/springframework/integration/ip/tcp/TcpOutboundChannelAdapterWithinChainTests-context.xml @@ -14,7 +14,8 @@ type="server" so-timeout="60000" deserializer="" - port="#{tcpIpUtils.findAvailableServerSocket(7000)}"/> + port="#{tcpIpUtils.findAvailableServerSocket(27800)}" + local-address="localhost"/> @@ -72,28 +76,32 @@ diff --git a/spring-integration-ip/src/test/java/org/springframework/integration/ip/tcp/connection/SOLingerTests-context.xml b/spring-integration-ip/src/test/java/org/springframework/integration/ip/tcp/connection/SOLingerTests-context.xml index 0bc82ee363..506291e496 100644 --- a/spring-integration-ip/src/test/java/org/springframework/integration/ip/tcp/connection/SOLingerTests-context.xml +++ b/spring-integration-ip/src/test/java/org/springframework/integration/ip/tcp/connection/SOLingerTests-context.xml @@ -7,11 +7,10 @@ http://www.springframework.org/schema/integration http://www.springframework.org/schema/integration/spring-integration.xsd http://www.springframework.org/schema/integration/ip http://www.springframework.org/schema/integration/ip/spring-integration-ip.xsd"> - - @@ -21,7 +20,8 @@