diff --git a/activemq-core/src/main/java/org/apache/activemq/transport/tcp/TcpTransportServer.java b/activemq-core/src/main/java/org/apache/activemq/transport/tcp/TcpTransportServer.java index 4498bef090..4f446dcff5 100755 --- a/activemq-core/src/main/java/org/apache/activemq/transport/tcp/TcpTransportServer.java +++ b/activemq-core/src/main/java/org/apache/activemq/transport/tcp/TcpTransportServer.java @@ -67,6 +67,7 @@ public class TcpTransportServer extends TransportServerThreadSupport implements protected WireFormatFactory wireFormatFactory = new OpenWireFormatFactory(); protected final TcpTransportFactory transportFactory; protected long maxInactivityDuration = 30000; + protected long maxInactivityDurationInitalDelay = 10000; protected int minmumWireFormatVersion; protected boolean useQueueForAccept=true; @@ -190,6 +191,14 @@ public class TcpTransportServer extends TransportServerThreadSupport implements public void setMaxInactivityDuration(long maxInactivityDuration) { this.maxInactivityDuration = maxInactivityDuration; } + + public long getMaxInactivityDurationInitalDelay() { + return this.maxInactivityDurationInitalDelay; + } + + public void setMaxInactivityDurationInitalDelay(long maxInactivityDurationInitalDelay) { + this.maxInactivityDurationInitalDelay = maxInactivityDurationInitalDelay; + } public int getMinmumWireFormatVersion() { return minmumWireFormatVersion; @@ -390,6 +399,8 @@ public class TcpTransportServer extends TransportServerThreadSupport implements HashMap options = new HashMap(); options.put("maxInactivityDuration", Long .valueOf(maxInactivityDuration)); + options.put("maxInactivityDurationInitalDelay", Long + .valueOf(maxInactivityDurationInitalDelay)); options.put("minmumWireFormatVersion", Integer .valueOf(minmumWireFormatVersion)); options.put("trace", Boolean.valueOf(trace)); diff --git a/activemq-core/src/test/java/org/apache/activemq/transport/tcp/WireformatNegociationTest.java b/activemq-core/src/test/java/org/apache/activemq/transport/tcp/WireformatNegociationTest.java index fe62147b3c..04f8c03ecb 100644 --- a/activemq-core/src/test/java/org/apache/activemq/transport/tcp/WireformatNegociationTest.java +++ b/activemq-core/src/test/java/org/apache/activemq/transport/tcp/WireformatNegociationTest.java @@ -202,5 +202,20 @@ public class WireformatNegociationTest extends CombinationTestSupport { assertNotNull(serverWF.get()); assertEquals(CommandTypes.PROTOCOL_VERSION, serverWF.get().getVersion()); } + + public void testWireFomatInactivityDurationInitalDelay() throws Exception { + + startServer("tcp://localhost:61616"); + startClient("tcp://localhost:61616?wireFormat.maxInactivityDurationInitalDelay=60000"); + + assertTrue("Connect timeout", negociationCounter.await(10, TimeUnit.SECONDS)); + assertNull("Async error: " + asyncError, asyncError.get()); + + assertNotNull(clientWF.get()); + assertEquals(5, clientWF.get().getVersion()); + + assertNotNull(serverWF.get()); + assertEquals(5, serverWF.get().getVersion()); + } }