diff --git a/spring-integration-ip/src/main/java/org/springframework/integration/ip/tcp/connection/AbstractConnectionFactory.java b/spring-integration-ip/src/main/java/org/springframework/integration/ip/tcp/connection/AbstractConnectionFactory.java
index 7837466f9c..f8d3445dc7 100644
--- a/spring-integration-ip/src/main/java/org/springframework/integration/ip/tcp/connection/AbstractConnectionFactory.java
+++ b/spring-integration-ip/src/main/java/org/springframework/integration/ip/tcp/connection/AbstractConnectionFactory.java
@@ -299,7 +299,7 @@ public abstract class AbstractConnectionFactory extends IntegrationObjectSupport
* @since 5.0
*/
public void setPort(int port) {
- Assert.state(!isRunning(), "Cannot change the host while running");
+ Assert.state(!isRunning(), "Cannot change the port while running");
this.port = port;
}
diff --git a/spring-integration-ip/src/test/java/org/springframework/integration/ip/config/ParserUnitTests-context.xml b/spring-integration-ip/src/test/java/org/springframework/integration/ip/config/ParserUnitTests-context.xml
index e5478d7838..7a38a45b42 100644
--- a/spring-integration-ip/src/test/java/org/springframework/integration/ip/config/ParserUnitTests-context.xml
+++ b/spring-integration-ip/src/test/java/org/springframework/integration/ip/config/ParserUnitTests-context.xml
@@ -11,8 +11,6 @@
http://www.springframework.org/schema/beans http://www.springframework.org/schema/beans/spring-beans.xsd
http://www.springframework.org/schema/util http://www.springframework.org/schema/util/spring-util.xsd">
-
-
@@ -26,7 +24,7 @@
check-length="true"
multicast="false"
pool-size="27"
- port="#{tcpIpUtils.findAvailableUdpSocket(5000)}"
+ port="0"
receive-buffer-size="29"
so-receive-buffer-size="30"
so-send-buffer-size="31"
@@ -45,7 +43,7 @@
multicast="true"
multicast-address="225.6.7.8"
pool-size="27"
- port="#{tcpIpUtils.findAvailableUdpSocket(5100)}"
+ port="0"
receive-buffer-size="29"
so-receive-buffer-size="30"
so-send-buffer-size="31"
@@ -55,7 +53,7 @@
@@ -272,7 +270,7 @@
id="client1"
type="client"
host="localhost"
- port="#{tcpIpUtils.findAvailableServerSocket(6000)}"
+ port="0"
serializer="defaultSerializer"
deserializer="defaultDeserializer"
so-keep-alive="true"
@@ -319,7 +317,7 @@
id="client2"
type="client"
host="localhost"
- port="#{tcpIpUtils.findAvailableServerSocket(6100)}"
+ port="0"
serializer="defaultSerializer"
deserializer="defaultDeserializer"
so-keep-alive="true"
@@ -382,7 +380,7 @@
-
+
diff --git a/spring-integration-ip/src/test/java/org/springframework/integration/ip/config/ParserUnitTests.java b/spring-integration-ip/src/test/java/org/springframework/integration/ip/config/ParserUnitTests.java
index 1e42a18130..0bd2d55d1d 100644
--- a/spring-integration-ip/src/test/java/org/springframework/integration/ip/config/ParserUnitTests.java
+++ b/spring-integration-ip/src/test/java/org/springframework/integration/ip/config/ParserUnitTests.java
@@ -16,12 +16,14 @@
package org.springframework.integration.ip.config;
+import static org.hamcrest.Matchers.startsWith;
import static org.junit.Assert.assertEquals;
import static org.junit.Assert.assertFalse;
import static org.junit.Assert.assertNotNull;
import static org.junit.Assert.assertNotSame;
import static org.junit.Assert.assertNull;
import static org.junit.Assert.assertSame;
+import static org.junit.Assert.assertThat;
import static org.junit.Assert.assertTrue;
import java.util.Iterator;
@@ -279,7 +281,6 @@ public class ParserUnitTests {
@Test
public void testInUdp() {
DirectFieldAccessor dfa = new DirectFieldAccessor(udpIn);
- assertTrue(udpIn.getPort() >= 5000);
assertEquals(27, dfa.getPropertyValue("poolSize"));
assertEquals(29, dfa.getPropertyValue("receiveBufferSize"));
assertEquals(30, dfa.getPropertyValue("soReceiveBufferSize"));
@@ -352,15 +353,12 @@ public class ParserUnitTests {
@Test
public void testOutUdp() {
DirectFieldAccessor dfa = new DirectFieldAccessor(udpOut);
- assertTrue(udpOut.getPort() >= 5400);
assertEquals("localhost", dfa.getPropertyValue("host"));
- int ackPort = (Integer) dfa.getPropertyValue("ackPort");
- assertTrue("Expected ackPort >= 5300 was:" + ackPort, ackPort >= 5300);
DatagramPacketMessageMapper mapper = (DatagramPacketMessageMapper) dfa
.getPropertyValue("mapper");
String ackAddress = (String) new DirectFieldAccessor(mapper)
.getPropertyValue("ackAddress");
- assertEquals("somehost:" + ackPort, ackAddress);
+ assertThat(ackAddress, startsWith("somehost:"));
assertEquals(51, dfa.getPropertyValue("ackTimeout"));
assertEquals(true, dfa.getPropertyValue("waitForAck"));
assertEquals(52, dfa.getPropertyValue("soReceiveBufferSize"));
@@ -376,15 +374,12 @@ public class ParserUnitTests {
@Test
public void testOutUdpMulticast() {
DirectFieldAccessor dfa = new DirectFieldAccessor(udpOutMulticast);
- assertTrue(udpOutMulticast.getPort() >= 5600);
assertEquals("225.6.7.8", dfa.getPropertyValue("host"));
- int ackPort = (Integer) dfa.getPropertyValue("ackPort");
- assertTrue("Expected ackPort >= 5500 was:" + ackPort, ackPort >= 5500);
DatagramPacketMessageMapper mapper = (DatagramPacketMessageMapper) dfa
.getPropertyValue("mapper");
String ackAddress = (String) new DirectFieldAccessor(mapper)
.getPropertyValue("ackAddress");
- assertEquals("somehost:" + ackPort, ackAddress);
+ assertThat(ackAddress, startsWith("somehost:"));
assertEquals(51, dfa.getPropertyValue("ackTimeout"));
assertEquals(true, dfa.getPropertyValue("waitForAck"));
assertEquals(52, dfa.getPropertyValue("soReceiveBufferSize"));
@@ -492,7 +487,6 @@ public class ParserUnitTests {
public void testConnClient1() {
assertTrue(client1 instanceof TcpNioClientConnectionFactory);
assertEquals("localhost", client1.getHost());
- assertTrue(client1.getPort() >= 6000);
assertEquals(54, client1.getSoLinger());
assertEquals(1234, client1.getSoReceiveBufferSize());
assertEquals(1235, client1.getSoSendBufferSize());
@@ -511,7 +505,6 @@ public class ParserUnitTests {
@Test
public void testConnServer1() {
assertTrue(server1 instanceof TcpNioServerConnectionFactory);
- assertEquals(client1.getPort(), server1.getPort());
assertEquals(55, server1.getSoLinger());
assertEquals(1234, server1.getSoReceiveBufferSize());
assertEquals(1235, server1.getSoSendBufferSize());
@@ -532,7 +525,6 @@ public class ParserUnitTests {
public void testConnClient2() {
assertTrue(client2 instanceof TcpNetClientConnectionFactory);
assertEquals("localhost", client1.getHost());
- assertTrue(client1.getPort() >= 6000);
assertEquals(54, client1.getSoLinger());
assertEquals(1234, client1.getSoReceiveBufferSize());
assertEquals(1235, client1.getSoSendBufferSize());
@@ -550,7 +542,6 @@ public class ParserUnitTests {
@Test
public void testConnServer2() {
assertTrue(server2 instanceof TcpNetServerConnectionFactory);
- assertEquals(client1.getPort(), server1.getPort());
assertEquals(55, server1.getSoLinger());
assertEquals(1234, server1.getSoReceiveBufferSize());
assertEquals(1235, server1.getSoSendBufferSize());
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 7fd8204c25..b98a7fd70d 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
@@ -8,8 +8,6 @@
http://www.springframework.org/schema/beans http://www.springframework.org/schema/beans/spring-beans.xsd">
-
-
@@ -19,7 +17,7 @@
+ client-mode="true"
+ auto-startup="false" />
-
+
diff --git a/spring-integration-ip/src/test/java/org/springframework/integration/ip/tcp/ClientModeControlBusTests.java b/spring-integration-ip/src/test/java/org/springframework/integration/ip/tcp/ClientModeControlBusTests.java
index 9e1934bac1..db269f3937 100644
--- a/spring-integration-ip/src/test/java/org/springframework/integration/ip/tcp/ClientModeControlBusTests.java
+++ b/spring-integration-ip/src/test/java/org/springframework/integration/ip/tcp/ClientModeControlBusTests.java
@@ -20,10 +20,14 @@ import static org.junit.Assert.assertSame;
import static org.junit.Assert.assertTrue;
import static org.junit.Assert.fail;
+import org.junit.Before;
import org.junit.Test;
import org.junit.runner.RunWith;
import org.springframework.beans.factory.annotation.Autowired;
+import org.springframework.integration.ip.tcp.connection.AbstractClientConnectionFactory;
+import org.springframework.integration.ip.tcp.connection.AbstractServerConnectionFactory;
+import org.springframework.integration.ip.util.TestingUtilities;
import org.springframework.integration.test.util.TestUtils;
import org.springframework.scheduling.TaskScheduler;
import org.springframework.test.context.ContextConfiguration;
@@ -44,9 +48,22 @@ public class ClientModeControlBusTests {
@Autowired
TcpReceivingChannelAdapter tcpIn;
+ @Autowired
+ AbstractServerConnectionFactory server;
+
+ @Autowired
+ AbstractClientConnectionFactory client;
+
@Autowired
TaskScheduler taskScheduler; // default
+ @Before
+ public void before() {
+ TestingUtilities.waitListening(this.server, null);
+ this.client.setPort(this.server.getPort());
+ this.tcpIn.start();
+ }
+
@Test
public void test() throws Exception {
assertTrue(controlBus.boolResult("@tcpIn.isClientMode()"));
diff --git a/spring-integration-ip/src/test/java/org/springframework/integration/ip/tcp/ConnectionToConnectionTests-context.xml b/spring-integration-ip/src/test/java/org/springframework/integration/ip/tcp/ConnectionToConnectionTests-context.xml
index 8163bd2a5c..0e97e04be8 100644
--- a/spring-integration-ip/src/test/java/org/springframework/integration/ip/tcp/ConnectionToConnectionTests-context.xml
+++ b/spring-integration-ip/src/test/java/org/springframework/integration/ip/tcp/ConnectionToConnectionTests-context.xml
@@ -13,13 +13,11 @@
-
-
+ event-types="org.springframework.integration.ip.tcp.connection.TcpConnectionEvent"/>
diff --git a/spring-integration-ip/src/test/java/org/springframework/integration/ip/tcp/ConnectionToConnectionTests.java b/spring-integration-ip/src/test/java/org/springframework/integration/ip/tcp/ConnectionToConnectionTests.java
index 004842b42d..3445004255 100644
--- a/spring-integration-ip/src/test/java/org/springframework/integration/ip/tcp/ConnectionToConnectionTests.java
+++ b/spring-integration-ip/src/test/java/org/springframework/integration/ip/tcp/ConnectionToConnectionTests.java
@@ -46,6 +46,7 @@ import org.springframework.integration.ip.util.TestingUtilities;
import org.springframework.integration.support.MessageBuilder;
import org.springframework.integration.test.util.TestUtils;
import org.springframework.messaging.Message;
+import org.springframework.test.annotation.DirtiesContext;
import org.springframework.test.context.ContextConfiguration;
import org.springframework.test.context.junit4.SpringJUnit4ClassRunner;
@@ -59,6 +60,7 @@ import org.springframework.test.context.junit4.SpringJUnit4ClassRunner;
@ContextConfiguration
@RunWith(SpringJUnit4ClassRunner.class)
@FixMethodOrder(MethodSorters.NAME_ASCENDING)
+@DirtiesContext
public class ConnectionToConnectionTests {
@Autowired
@@ -110,6 +112,7 @@ public class ConnectionToConnectionTests {
private void testConnectGuts(AbstractClientConnectionFactory client, AbstractServerConnectionFactory server,
String gatewayName, boolean expectExceptionOnClose) throws Exception {
TestingUtilities.waitListening(server, null);
+ client.setPort(server.getPort());
client.start();
for (int i = 0; i < 100; i++) {
TcpConnection connection = client.getConnection();
diff --git a/spring-integration-ip/src/test/java/org/springframework/integration/ip/tcp/InterceptedSharedConnectionTests-context.xml b/spring-integration-ip/src/test/java/org/springframework/integration/ip/tcp/InterceptedSharedConnectionTests-context.xml
index 92972060e1..190a0702ac 100644
--- a/spring-integration-ip/src/test/java/org/springframework/integration/ip/tcp/InterceptedSharedConnectionTests-context.xml
+++ b/spring-integration-ip/src/test/java/org/springframework/integration/ip/tcp/InterceptedSharedConnectionTests-context.xml
@@ -7,8 +7,6 @@
http://www.springframework.org/schema/integration/ip http://www.springframework.org/schema/integration/ip/spring-integration-ip.xsd
http://www.springframework.org/schema/beans http://www.springframework.org/schema/beans/spring-beans.xsd">
-
-
@@ -27,7 +25,7 @@
diff --git a/spring-integration-ip/src/test/java/org/springframework/integration/ip/tcp/InterceptedSharedConnectionTests.java b/spring-integration-ip/src/test/java/org/springframework/integration/ip/tcp/InterceptedSharedConnectionTests.java
index 7348a7c9e6..3f25a5b7c9 100644
--- a/spring-integration-ip/src/test/java/org/springframework/integration/ip/tcp/InterceptedSharedConnectionTests.java
+++ b/spring-integration-ip/src/test/java/org/springframework/integration/ip/tcp/InterceptedSharedConnectionTests.java
@@ -1,5 +1,5 @@
/*
- * Copyright 2002-2016 the original author or authors.
+ * Copyright 2002-2017 the original author or authors.
*
* Licensed under the Apache License, Version 2.0 (the "License");
* you may not use this file except in compliance with the License.
@@ -18,7 +18,6 @@ package org.springframework.integration.ip.tcp;
import static org.junit.Assert.assertEquals;
import static org.junit.Assert.assertNotNull;
-import static org.junit.Assert.fail;
import org.apache.log4j.Level;
import org.apache.log4j.LogManager;
@@ -28,12 +27,16 @@ import org.junit.Test;
import org.junit.runner.RunWith;
import org.springframework.beans.factory.annotation.Autowired;
-import org.springframework.beans.factory.annotation.Qualifier;
import org.springframework.context.support.AbstractApplicationContext;
import org.springframework.integration.channel.QueueChannel;
+import org.springframework.integration.config.ConsumerEndpointFactoryBean;
+import org.springframework.integration.ip.tcp.connection.AbstractClientConnectionFactory;
+import org.springframework.integration.ip.tcp.connection.AbstractServerConnectionFactory;
+import org.springframework.integration.ip.util.TestingUtilities;
import org.springframework.integration.support.MessageBuilder;
import org.springframework.messaging.Message;
import org.springframework.messaging.MessageChannel;
+import org.springframework.test.annotation.DirtiesContext;
import org.springframework.test.context.ContextConfiguration;
import org.springframework.test.context.junit4.SpringJUnit4ClassRunner;
@@ -43,14 +46,17 @@ import org.springframework.test.context.junit4.SpringJUnit4ClassRunner;
*/
@ContextConfiguration
@RunWith(SpringJUnit4ClassRunner.class)
+@DirtiesContext
public class InterceptedSharedConnectionTests {
@Autowired
AbstractApplicationContext ctx;
@Autowired
- @Qualifier("inboundServer")
- TcpReceivingChannelAdapter listener;
+ AbstractServerConnectionFactory server;
+
+ @Autowired
+ AbstractClientConnectionFactory client;
private static Level existingLogLevel;
@@ -78,13 +84,9 @@ public class InterceptedSharedConnectionTests {
*/
@Test
public void test1() throws Exception {
- int n = 0;
- while (!listener.isListening()) {
- Thread.sleep(100);
- if (n++ > 100) {
- fail("Failed to listen");
- }
- }
+ TestingUtilities.waitListening(this.server, null);
+ this.client.setPort(this.server.getPort());
+ this.ctx.getBeansOfType(ConsumerEndpointFactoryBean.class).values().forEach(c -> c.start());
for (int i = 0; i < 5; i++) {
MessageChannel input = ctx.getBean("input", MessageChannel.class);
input.send(MessageBuilder.withPayload("Test").build());
diff --git a/spring-integration-ip/src/test/java/org/springframework/integration/ip/tcp/SharedConnectionTests-context.xml b/spring-integration-ip/src/test/java/org/springframework/integration/ip/tcp/SharedConnectionTests-context.xml
index e921583adb..dfe9f1aa2f 100644
--- a/spring-integration-ip/src/test/java/org/springframework/integration/ip/tcp/SharedConnectionTests-context.xml
+++ b/spring-integration-ip/src/test/java/org/springframework/integration/ip/tcp/SharedConnectionTests-context.xml
@@ -8,16 +8,14 @@
http://www.springframework.org/schema/beans http://www.springframework.org/schema/beans/spring-beans.xsd">
-
-
-
+
-
+
-
+
-
+
-
+ connection-factory="client"/>
+
-
+
diff --git a/spring-integration-ip/src/test/java/org/springframework/integration/ip/tcp/SharedConnectionTests.java b/spring-integration-ip/src/test/java/org/springframework/integration/ip/tcp/SharedConnectionTests.java
index 6b01c92e1b..723d58581b 100644
--- a/spring-integration-ip/src/test/java/org/springframework/integration/ip/tcp/SharedConnectionTests.java
+++ b/spring-integration-ip/src/test/java/org/springframework/integration/ip/tcp/SharedConnectionTests.java
@@ -18,7 +18,6 @@ package org.springframework.integration.ip.tcp;
import static org.junit.Assert.assertEquals;
import static org.junit.Assert.assertNotNull;
-import static org.junit.Assert.fail;
import java.util.Properties;
@@ -26,14 +25,18 @@ import org.junit.Test;
import org.junit.runner.RunWith;
import org.springframework.beans.factory.annotation.Autowired;
-import org.springframework.beans.factory.annotation.Qualifier;
import org.springframework.context.support.AbstractApplicationContext;
import org.springframework.integration.channel.QueueChannel;
+import org.springframework.integration.config.ConsumerEndpointFactoryBean;
import org.springframework.integration.history.MessageHistory;
+import org.springframework.integration.ip.tcp.connection.AbstractClientConnectionFactory;
+import org.springframework.integration.ip.tcp.connection.AbstractServerConnectionFactory;
+import org.springframework.integration.ip.util.TestingUtilities;
import org.springframework.integration.support.MessageBuilder;
import org.springframework.integration.test.util.TestUtils;
import org.springframework.messaging.Message;
import org.springframework.messaging.MessageChannel;
+import org.springframework.test.annotation.DirtiesContext;
import org.springframework.test.context.ContextConfiguration;
import org.springframework.test.context.junit4.SpringJUnit4ClassRunner;
@@ -43,14 +46,17 @@ import org.springframework.test.context.junit4.SpringJUnit4ClassRunner;
*/
@ContextConfiguration
@RunWith(SpringJUnit4ClassRunner.class)
+@DirtiesContext
public class SharedConnectionTests {
@Autowired
AbstractApplicationContext ctx;
@Autowired
- @Qualifier("inboundServer")
- TcpReceivingChannelAdapter listener;
+ AbstractServerConnectionFactory server;
+
+ @Autowired
+ AbstractClientConnectionFactory client;
/**
* Tests a loopback. The client-side outbound adapter sends a message over
@@ -64,13 +70,9 @@ public class SharedConnectionTests {
*/
@Test
public void test1() throws Exception {
- int n = 0;
- while (!listener.isListening()) {
- Thread.sleep(100);
- if (n++ > 100) {
- fail("Failed to listen");
- }
- }
+ TestingUtilities.waitListening(this.server, null);
+ this.client.setPort(this.server.getPort());
+ this.ctx.getBeansOfType(ConsumerEndpointFactoryBean.class).values().forEach(c -> c.start());
MessageChannel input = ctx.getBean("input", MessageChannel.class);
input.send(MessageBuilder.withPayload("Test").build());
QueueChannel replies = ctx.getBean("replies", QueueChannel.class);
diff --git a/spring-integration-ip/src/test/java/org/springframework/integration/ip/tcp/TcpConfigInboundGatewayTests-context.xml b/spring-integration-ip/src/test/java/org/springframework/integration/ip/tcp/TcpConfigInboundGatewayTests-context.xml
index 294e412dd2..aa188c6109 100644
--- a/spring-integration-ip/src/test/java/org/springframework/integration/ip/tcp/TcpConfigInboundGatewayTests-context.xml
+++ b/spring-integration-ip/src/test/java/org/springframework/integration/ip/tcp/TcpConfigInboundGatewayTests-context.xml
@@ -45,8 +45,8 @@
request-channel="toSA" />
-
-
@@ -42,7 +44,8 @@
connection-factory="crLfServer2"
request-channel="toSA" />
-
+
diff --git a/spring-integration-ip/src/test/java/org/springframework/integration/ip/tcp/TcpConfigOutboundGatewayTests.java b/spring-integration-ip/src/test/java/org/springframework/integration/ip/tcp/TcpConfigOutboundGatewayTests.java
index 11e20a92a4..36c4c5176b 100644
--- a/spring-integration-ip/src/test/java/org/springframework/integration/ip/tcp/TcpConfigOutboundGatewayTests.java
+++ b/spring-integration-ip/src/test/java/org/springframework/integration/ip/tcp/TcpConfigOutboundGatewayTests.java
@@ -1,5 +1,5 @@
/*
- * Copyright 2002-2016 the original author or authors.
+ * Copyright 2002-2017 the original author or authors.
*
* Licensed under the Apache License, Version 2.0 (the "License");
* you may not use this file except in compliance with the License.
@@ -17,8 +17,10 @@
package org.springframework.integration.ip.tcp;
import static org.junit.Assert.assertEquals;
+import static org.junit.Assert.fail;
+
+import java.util.Map;
-import org.junit.AfterClass;
import org.junit.Before;
import org.junit.Test;
import org.junit.runner.RunWith;
@@ -26,13 +28,16 @@ import org.junit.runner.RunWith;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.beans.factory.annotation.Qualifier;
import org.springframework.context.support.AbstractApplicationContext;
+import org.springframework.integration.config.ConsumerEndpointFactoryBean;
import org.springframework.integration.ip.tcp.connection.AbstractClientConnectionFactory;
import org.springframework.integration.ip.tcp.connection.AbstractServerConnectionFactory;
+import org.springframework.integration.ip.util.TestingUtilities;
import org.springframework.integration.support.MessageBuilder;
import org.springframework.messaging.Message;
import org.springframework.messaging.MessageChannel;
import org.springframework.messaging.PollableChannel;
import org.springframework.messaging.SubscribableChannel;
+import org.springframework.test.annotation.DirtiesContext;
import org.springframework.test.context.ContextConfiguration;
import org.springframework.test.context.junit4.SpringJUnit4ClassRunner;
@@ -43,9 +48,10 @@ import org.springframework.test.context.junit4.SpringJUnit4ClassRunner;
*/
@ContextConfiguration
@RunWith(SpringJUnit4ClassRunner.class)
+@DirtiesContext
public class TcpConfigOutboundGatewayTests {
- static AbstractApplicationContext staticContext;
+ private static boolean initializedFactories;
@Autowired
AbstractApplicationContext ctx;
@@ -117,6 +123,55 @@ public class TcpConfigOutboundGatewayTests {
@Autowired
MessageChannel tcpOutboundGatewayInsideChain;
+ @Before
+ public void before() {
+ if (initializedFactories) {
+ return;
+ }
+ Map servers =
+ this.ctx.getBeansOfType(AbstractServerConnectionFactory.class);
+ servers.forEach((k, v) -> {
+ TestingUtilities.waitListening(v, null);
+ switch (k) {
+ case "crLfServer":
+ this.crLfClient.setPort(v.getPort());
+ break;
+ case "crLfServer2":
+ this.ctx.getBean("crLfClient2", AbstractClientConnectionFactory.class).setPort(v.getPort());
+ break;
+ case "crLfServerNio":
+ this.ctx.getBean("crLfClientNio", AbstractClientConnectionFactory.class).setPort(v.getPort());
+ break;
+ case "stxEtxServer":
+ this.stxEtxClient.setPort(v.getPort());
+ break;
+ case "stxEtxServerNio":
+ this.ctx.getBean("stxEtxClientNio", AbstractClientConnectionFactory.class).setPort(v.getPort());
+ break;
+ case "lengthHeaderServer":
+ this.lengthHeaderClient.setPort(v.getPort());
+ break;
+ case "lengthHeaderServerNio":
+ this.ctx.getBean("lengthHeaderClientNio",
+ AbstractClientConnectionFactory.class).setPort(v.getPort());
+ break;
+ case "javaSerialServer":
+ this.javaSerialClient.setPort(v.getPort());
+ break;
+ case "javaSerialServerNio":
+ this.ctx.getBean("javaSerialClientNio",
+ AbstractClientConnectionFactory.class).setPort(v.getPort());
+ break;
+ default:
+ fail("Unexpected server:" + v);
+ }
+ });
+ Map consumers =
+ this.ctx.getBeansOfType(ConsumerEndpointFactoryBean.class);
+ consumers.values().forEach(g -> g.start());
+ initializedFactories = true;
+ }
+
@Test
public void testOutboundCrLf() throws Exception {
testOutboundUsingConfig();
@@ -127,23 +182,11 @@ public class TcpConfigOutboundGatewayTests {
testOutboundUsingConfigNio();
}
- private void waitListening(TcpInboundGateway gateway) throws Exception {
- int n = 0;
- while (!gateway.isListening()) {
- Thread.sleep(100);
- if (n++ > 100) {
- throw new Exception("Gateway failed to listen");
- }
- }
-
- }
-
@Test
public void testOutboundStxEtx() throws Exception {
TcpOutboundGateway gateway = new TcpOutboundGateway();
stxEtxClient.start();
gateway.setConnectionFactory(stxEtxClient);
- waitListening(inboundGatewayStxEtx);
Message message = MessageBuilder.withPayload("test").build();
@SuppressWarnings("unchecked")
byte[] bytes = ((Message) gateway.handleRequestMessage(message)).getPayload();
@@ -155,7 +198,6 @@ public class TcpConfigOutboundGatewayTests {
TcpOutboundGateway gateway = new TcpOutboundGateway();
javaSerialClient.start();
gateway.setConnectionFactory(javaSerialClient);
- waitListening(inboundGatewaySerialized);
Message message = MessageBuilder.withPayload("test").build();
@SuppressWarnings("unchecked")
Object response = ((Message