You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@qpid.apache.org by ro...@apache.org on 2012/08/12 18:44:51 UTC
svn commit: r1372147 - in /qpid/trunk/qpid/java:
client/src/main/java/org/apache/qpid/client/
client/src/main/java/org/apache/qpid/jms/
client/src/test/java/org/apache/qpid/test/unit/client/BrokerDetails/
common/src/main/java/org/apache/qpid/transport/...
Author: robbie
Date: Sun Aug 12 16:44:50 2012
New Revision: 1372147
URL: http://svn.apache.org/viewvc?rev=1372147&view=rev
Log:
QPID-4051: use the connecttimeout option value from the BrokerDetails object to control the connect() timeout via the produced ConnectionSettings object
Modified:
qpid/trunk/qpid/java/client/src/main/java/org/apache/qpid/client/AMQBrokerDetails.java
qpid/trunk/qpid/java/client/src/main/java/org/apache/qpid/jms/BrokerDetails.java
qpid/trunk/qpid/java/client/src/test/java/org/apache/qpid/test/unit/client/BrokerDetails/BrokerDetailsTest.java
qpid/trunk/qpid/java/common/src/main/java/org/apache/qpid/transport/ConnectionSettings.java
qpid/trunk/qpid/java/common/src/main/java/org/apache/qpid/transport/network/io/IoNetworkTransport.java
Modified: qpid/trunk/qpid/java/client/src/main/java/org/apache/qpid/client/AMQBrokerDetails.java
URL: http://svn.apache.org/viewvc/qpid/trunk/qpid/java/client/src/main/java/org/apache/qpid/client/AMQBrokerDetails.java?rev=1372147&r1=1372146&r2=1372147&view=diff
==============================================================================
--- qpid/trunk/qpid/java/client/src/main/java/org/apache/qpid/client/AMQBrokerDetails.java (original)
+++ qpid/trunk/qpid/java/client/src/main/java/org/apache/qpid/client/AMQBrokerDetails.java Sun Aug 12 16:44:50 2012
@@ -245,13 +245,13 @@ public class AMQBrokerDetails implements
_options.put(key, value);
}
- public long getTimeout()
+ private int lookupConnectTimeout()
{
if (_options.containsKey(OPTIONS_CONNECT_TIMEOUT))
{
try
{
- return Long.parseLong(_options.get(OPTIONS_CONNECT_TIMEOUT));
+ return Integer.parseInt(_options.get(OPTIONS_CONNECT_TIMEOUT));
}
catch (NumberFormatException nfe)
{
@@ -290,11 +290,6 @@ public class AMQBrokerDetails implements
}
}
- public void setTimeout(long timeout)
- {
- setProperty(OPTIONS_CONNECT_TIMEOUT, Long.toString(timeout));
- }
-
public String toString()
{
StringBuffer sb = new StringBuffer();
@@ -460,6 +455,8 @@ public class AMQBrokerDetails implements
getBooleanProperty(BrokerDetails.OPTIONS_TCP_NO_DELAY,true));
}
+ conSettings.setConnectTimeout(lookupConnectTimeout());
+
return conSettings;
}
}
Modified: qpid/trunk/qpid/java/client/src/main/java/org/apache/qpid/jms/BrokerDetails.java
URL: http://svn.apache.org/viewvc/qpid/trunk/qpid/java/client/src/main/java/org/apache/qpid/jms/BrokerDetails.java?rev=1372147&r1=1372146&r2=1372147&view=diff
==============================================================================
--- qpid/trunk/qpid/java/client/src/main/java/org/apache/qpid/jms/BrokerDetails.java (original)
+++ qpid/trunk/qpid/java/client/src/main/java/org/apache/qpid/jms/BrokerDetails.java Sun Aug 12 16:44:50 2012
@@ -59,7 +59,7 @@ public interface BrokerDetails
public static final String URL_FORMAT_EXAMPLE =
"<transport>://<hostname>[:<port Default=\"" + DEFAULT_PORT + "\">][?<option>='<value>'[,<option>='<value>']]";
- public static final long DEFAULT_CONNECT_TIMEOUT = 30000L;
+ public static final int DEFAULT_CONNECT_TIMEOUT = 30000;
public static final boolean USE_SSL_DEFAULT = false;
// pulled these properties from the new BrokerDetails class in the qpid package
@@ -101,10 +101,6 @@ public interface BrokerDetails
*/
public void setProperties(Map<String,String> props);
- long getTimeout();
-
- void setTimeout(long timeout);
-
boolean getBooleanProperty(String propName);
String toString();
Modified: qpid/trunk/qpid/java/client/src/test/java/org/apache/qpid/test/unit/client/BrokerDetails/BrokerDetailsTest.java
URL: http://svn.apache.org/viewvc/qpid/trunk/qpid/java/client/src/test/java/org/apache/qpid/test/unit/client/BrokerDetails/BrokerDetailsTest.java?rev=1372147&r1=1372146&r2=1372147&view=diff
==============================================================================
--- qpid/trunk/qpid/java/client/src/test/java/org/apache/qpid/test/unit/client/BrokerDetails/BrokerDetailsTest.java (original)
+++ qpid/trunk/qpid/java/client/src/test/java/org/apache/qpid/test/unit/client/BrokerDetails/BrokerDetailsTest.java Sun Aug 12 16:44:50 2012
@@ -24,6 +24,7 @@ import junit.framework.TestCase;
import org.apache.qpid.client.AMQBrokerDetails;
import org.apache.qpid.jms.BrokerDetails;
+import org.apache.qpid.transport.ConnectionSettings;
import org.apache.qpid.url.URLSyntaxException;
public class BrokerDetailsTest extends TestCase
@@ -49,6 +50,29 @@ public class BrokerDetailsTest extends T
assertFalse("value should be false", Boolean.valueOf(broker.getProperty(BrokerDetails.OPTIONS_TCP_NO_DELAY)));
}
+ public void testDefaultConnectTimeout() throws URLSyntaxException
+ {
+ String brokerURL = "tcp://localhost:5672";
+ AMQBrokerDetails broker = new AMQBrokerDetails(brokerURL);
+
+ ConnectionSettings settings = broker.buildConnectionSettings();
+
+ assertEquals("unexpected default connect timeout value", BrokerDetails.DEFAULT_CONNECT_TIMEOUT, settings.getConnectTimeout());
+ }
+
+ public void testOverridingConnectTimeout() throws URLSyntaxException
+ {
+ int timeout = 2 * BrokerDetails.DEFAULT_CONNECT_TIMEOUT;
+ assertTrue(timeout != BrokerDetails.DEFAULT_CONNECT_TIMEOUT);
+
+ String brokerURL = "tcp://localhost:5672?" + BrokerDetails.OPTIONS_CONNECT_TIMEOUT + "='" + timeout + "'";
+ AMQBrokerDetails broker = new AMQBrokerDetails(brokerURL);
+
+ ConnectionSettings settings = broker.buildConnectionSettings();
+
+ assertEquals("unexpected connect timeout value", timeout, settings.getConnectTimeout());
+ }
+
public void testMultiParameters() throws URLSyntaxException
{
String url = "tcp://localhost:5672?timeout='200',immediatedelivery='true'";
Modified: qpid/trunk/qpid/java/common/src/main/java/org/apache/qpid/transport/ConnectionSettings.java
URL: http://svn.apache.org/viewvc/qpid/trunk/qpid/java/common/src/main/java/org/apache/qpid/transport/ConnectionSettings.java?rev=1372147&r1=1372146&r2=1372147&view=diff
==============================================================================
--- qpid/trunk/qpid/java/common/src/main/java/org/apache/qpid/transport/ConnectionSettings.java (original)
+++ qpid/trunk/qpid/java/common/src/main/java/org/apache/qpid/transport/ConnectionSettings.java Sun Aug 12 16:44:50 2012
@@ -60,6 +60,7 @@ public class ConnectionSettings
private int maxChannelCount = 32767;
private int maxFrameSize = 65535;
private int heartbeatInterval;
+ private int connectTimeout = 30000;
private int readBufferSize = QpidProperty.intProperty(65535, RECEIVE_BUFFER_SIZE_PROP_NAME, LEGACY_RECEIVE_BUFFER_SIZE_PROP_NAME).get();
private int writeBufferSize = QpidProperty.intProperty(65535, SEND_BUFFER_SIZE_PROP_NAME, LEGACY_SEND_BUFFER_SIZE_PROP_NAME).get();;
private long transportTimeout = 60000;
@@ -345,6 +346,16 @@ public class ConnectionSettings
this.trustStoreType = trustStoreType;
}
+ public int getConnectTimeout()
+ {
+ return connectTimeout;
+ }
+
+ public void setConnectTimeout(int connectTimeout)
+ {
+ this.connectTimeout = connectTimeout;
+ }
+
public int getReadBufferSize()
{
return readBufferSize;
Modified: qpid/trunk/qpid/java/common/src/main/java/org/apache/qpid/transport/network/io/IoNetworkTransport.java
URL: http://svn.apache.org/viewvc/qpid/trunk/qpid/java/common/src/main/java/org/apache/qpid/transport/network/io/IoNetworkTransport.java?rev=1372147&r1=1372146&r2=1372147&view=diff
==============================================================================
--- qpid/trunk/qpid/java/common/src/main/java/org/apache/qpid/transport/network/io/IoNetworkTransport.java (original)
+++ qpid/trunk/qpid/java/common/src/main/java/org/apache/qpid/transport/network/io/IoNetworkTransport.java Sun Aug 12 16:44:50 2012
@@ -75,7 +75,7 @@ public class IoNetworkTransport implemen
InetAddress address = InetAddress.getByName(settings.getHost());
- _socket.connect(new InetSocketAddress(address, settings.getPort()), TIMEOUT);
+ _socket.connect(new InetSocketAddress(address, settings.getPort()), settings.getConnectTimeout());
}
catch (SocketException e)
{
---------------------------------------------------------------------
To unsubscribe, e-mail: commits-unsubscribe@qpid.apache.org
For additional commands, e-mail: commits-help@qpid.apache.org