[jboss-cvs] JBoss Messaging SVN: r4023 - in trunk: src/main/org/jboss/messaging/core/config and 6 other directories.
jboss-cvs-commits at lists.jboss.org
jboss-cvs-commits at lists.jboss.org
Wed Apr 9 08:53:31 EDT 2008
Author: jmesnil
Date: 2008-04-09 08:53:31 -0400 (Wed, 09 Apr 2008)
New Revision: 4023
Modified:
trunk/src/etc/server/default/deploy/jbm-configuration.xml
trunk/src/main/org/jboss/messaging/core/config/Configuration.java
trunk/src/main/org/jboss/messaging/core/config/impl/ConfigurationImpl.java
trunk/src/main/org/jboss/messaging/core/config/impl/FileConfiguration.java
trunk/src/main/org/jboss/messaging/core/remoting/impl/RemotingConfigurationValidator.java
trunk/src/main/org/jboss/messaging/core/remoting/impl/mina/MinaConnector.java
trunk/src/main/org/jboss/messaging/core/remoting/impl/mina/MinaService.java
trunk/tests/etc/ConfigurationTest-config.xml
trunk/tests/src/org/jboss/messaging/core/config/impl/test/unit/ConfigurationTest.java
trunk/tests/src/org/jboss/messaging/core/remoting/test/unit/RemotingConfigurationValidatorTest.java
Log:
* JBMESSAGING-1272 - Configurable TCP window size & no delay
- TCP send buffer size (SO_SNDBUF) is also configurable
Modified: trunk/src/etc/server/default/deploy/jbm-configuration.xml
===================================================================
--- trunk/src/etc/server/default/deploy/jbm-configuration.xml 2008-04-08 14:55:45 UTC (rev 4022)
+++ trunk/src/etc/server/default/deploy/jbm-configuration.xml 2008-04-09 12:53:31 UTC (rev 4023)
@@ -44,10 +44,15 @@
<!-- This setting is taken into account only when remoting-transport is set to TCP -->
<remoting-tcp-nodelay>false</remoting-tcp-nodelay>
- <!-- Set the TCP Receive Buffer size (SO_RCVBUF). -->
+ <!-- Set the TCP Receive Buffer size (SO_RCVBUF). -->
<!-- Set it to -1 if you want to use the value hinted by the Operating System -->
<!-- This setting is taken into account only when remoting-transport is set to TCP -->
<remoting-tcp-receive-buffer-size>-1</remoting-tcp-receive-buffer-size>
+
+ <!-- Set the TCP Send Buffer size (SO_SNDBUF). -->
+ <!-- Set it to -1 if you want to use the value hinted by the Operating System -->
+ <!-- This setting is taken into account only when remoting-transport is set to TCP -->
+ <remoting-tcp-send-buffer-size>-1</remoting-tcp-send-buffer-size>
<!-- if ssl is enabled, all remoting-ssl-* properties must be set -->
<remoting-enable-ssl>false</remoting-enable-ssl>
Modified: trunk/src/main/org/jboss/messaging/core/config/Configuration.java
===================================================================
--- trunk/src/main/org/jboss/messaging/core/config/Configuration.java 2008-04-08 14:55:45 UTC (rev 4022)
+++ trunk/src/main/org/jboss/messaging/core/config/Configuration.java 2008-04-09 12:53:31 UTC (rev 4023)
@@ -66,6 +66,8 @@
int getTcpReceiveBufferSize();
+ int getTcpSendBufferSize();
+
int getKeepAliveInterval();
int getKeepAliveTimeout();
Modified: trunk/src/main/org/jboss/messaging/core/config/impl/ConfigurationImpl.java
===================================================================
--- trunk/src/main/org/jboss/messaging/core/config/impl/ConfigurationImpl.java 2008-04-08 14:55:45 UTC (rev 4022)
+++ trunk/src/main/org/jboss/messaging/core/config/impl/ConfigurationImpl.java 2008-04-09 12:53:31 UTC (rev 4023)
@@ -104,6 +104,7 @@
protected boolean invmDisabledModified = false;
protected boolean tcpNoDelay;
protected int tcpReceiveBufferSize = -1;
+ protected int tcpSendBufferSize = -1;
protected boolean sslEnabled = DEFAULT_SSL_ENABLED;
protected boolean sslEnabledModified = false;
protected String keyStorePath;
@@ -340,6 +341,16 @@
{
this.tcpReceiveBufferSize = size;
}
+
+ public int getTcpSendBufferSize()
+ {
+ return this.tcpSendBufferSize;
+ }
+
+ public void setTcpSendBufferSize(int size)
+ {
+ this.tcpSendBufferSize = size;
+ }
public String getURI()
{
@@ -351,6 +362,7 @@
buff.append("&").append("invmDisabled=").append(invmDisabled);
buff.append("&").append("tcpNoDelay=").append(tcpNoDelay);
buff.append("&").append("tcpReceiveBufferSize=").append(tcpReceiveBufferSize);
+ buff.append("&").append("tcpSendBufferSize=").append(tcpSendBufferSize);
buff.append("&").append("sslEnabled=").append(sslEnabled);
buff.append("&").append("keyStorePath=").append(keyStorePath);
buff.append("&").append("trustStorePath=").append(trustStorePath);
Modified: trunk/src/main/org/jboss/messaging/core/config/impl/FileConfiguration.java
===================================================================
--- trunk/src/main/org/jboss/messaging/core/config/impl/FileConfiguration.java 2008-04-08 14:55:45 UTC (rev 4022)
+++ trunk/src/main/org/jboss/messaging/core/config/impl/FileConfiguration.java 2008-04-09 12:53:31 UTC (rev 4023)
@@ -83,6 +83,8 @@
tcpReceiveBufferSize = getInteger(e, "remoting-tcp-receive-buffer-size", -1);
+ tcpSendBufferSize = getInteger(e, "remoting-tcp-send-buffer-size", -1);
+
sslEnabled = getBoolean(e, "remoting-enable-ssl", false);
keyStorePath = getString(e, "remoting-ssl-keystore-path", null);
Modified: trunk/src/main/org/jboss/messaging/core/remoting/impl/RemotingConfigurationValidator.java
===================================================================
--- trunk/src/main/org/jboss/messaging/core/remoting/impl/RemotingConfigurationValidator.java 2008-04-08 14:55:45 UTC (rev 4022)
+++ trunk/src/main/org/jboss/messaging/core/remoting/impl/RemotingConfigurationValidator.java 2008-04-09 12:53:31 UTC (rev 4023)
@@ -52,13 +52,22 @@
throw new IllegalStateException("Remoting port can not be negative when transport is not INVM");
}
- if (configuration.getTcpReceiveBufferSize() != -1 && configuration.getTcpReceiveBufferSize() <= 0)
+ int receiveBufferSize = configuration.getTcpReceiveBufferSize();
+ if (receiveBufferSize != -1 && receiveBufferSize <= 0)
{
- String message = "Invalid value for TCP receive buffer size: " + configuration.getTcpReceiveBufferSize();
+ String message = "Invalid value for TCP receive buffer size: " + receiveBufferSize;
message += ". Value must be either -1 (not specified) or greater than 0";
throw new IllegalStateException(message);
}
+ int sendBufferSize = configuration.getTcpSendBufferSize();
+ if (sendBufferSize != -1 && sendBufferSize <= 0)
+ {
+ String message = "Invalid value for TCP send buffer size: " + sendBufferSize;
+ message += ". Value must be either -1 (not specified) or greater than 0";
+ throw new IllegalStateException(message);
+ }
+
if (log.isDebugEnabled())
log.debug("configuration is valid.");
}
Modified: trunk/src/main/org/jboss/messaging/core/remoting/impl/mina/MinaConnector.java
===================================================================
--- trunk/src/main/org/jboss/messaging/core/remoting/impl/mina/MinaConnector.java 2008-04-08 14:55:45 UTC (rev 4022)
+++ trunk/src/main/org/jboss/messaging/core/remoting/impl/mina/MinaConnector.java 2008-04-09 12:53:31 UTC (rev 4023)
@@ -114,10 +114,16 @@
addKeepAliveFilter(filterChain, keepAliveFactory, configuration.getKeepAliveInterval(),
configuration.getKeepAliveTimeout(), this);
connector.getSessionConfig().setTcpNoDelay(configuration.isTcpNoDelay());
- if (configuration.getTcpReceiveBufferSize() != -1)
+ int receiveBufferSize = configuration.getTcpReceiveBufferSize();
+ if (receiveBufferSize != -1)
{
- connector.getSessionConfig().setReceiveBufferSize(configuration.getTcpReceiveBufferSize());
+ connector.getSessionConfig().setReceiveBufferSize(receiveBufferSize);
}
+ int sendBufferSize = configuration.getTcpSendBufferSize();
+ if (sendBufferSize != -1)
+ {
+ connector.getSessionConfig().setSendBufferSize(sendBufferSize);
+ }
connector.getSessionConfig().setKeepAlive(true);
connector.getSessionConfig().setReuseAddress(true);
}
Modified: trunk/src/main/org/jboss/messaging/core/remoting/impl/mina/MinaService.java
===================================================================
--- trunk/src/main/org/jboss/messaging/core/remoting/impl/mina/MinaService.java 2008-04-08 14:55:45 UTC (rev 4022)
+++ trunk/src/main/org/jboss/messaging/core/remoting/impl/mina/MinaService.java 2008-04-09 12:53:31 UTC (rev 4023)
@@ -149,10 +149,16 @@
// Bind
acceptor.setDefaultLocalAddress(new InetSocketAddress(config.getHost(), config.getPort()));
acceptor.getSessionConfig().setTcpNoDelay(config.isTcpNoDelay());
- if (config.getTcpReceiveBufferSize() != -1)
+ int receiveBufferSize = config.getTcpReceiveBufferSize();
+ if (receiveBufferSize != -1)
{
- acceptor.getSessionConfig().setReceiveBufferSize(config.getTcpReceiveBufferSize());
+ acceptor.getSessionConfig().setReceiveBufferSize(receiveBufferSize);
}
+ int sendBufferSize = config.getTcpSendBufferSize();
+ if (sendBufferSize != -1)
+ {
+ acceptor.getSessionConfig().setSendBufferSize(sendBufferSize);
+ }
acceptor.setReuseAddress(true);
acceptor.getSessionConfig().setReuseAddress(true);
acceptor.getSessionConfig().setKeepAlive(true);
Modified: trunk/tests/etc/ConfigurationTest-config.xml
===================================================================
--- trunk/tests/etc/ConfigurationTest-config.xml 2008-04-08 14:55:45 UTC (rev 4022)
+++ trunk/tests/etc/ConfigurationTest-config.xml 2008-04-09 12:53:31 UTC (rev 4023)
@@ -45,6 +45,7 @@
<remoting-disable-invm>true</remoting-disable-invm>
<remoting-tcp-nodelay>true</remoting-tcp-nodelay>
<remoting-tcp-receive-buffer-size>8192</remoting-tcp-receive-buffer-size>
+ <remoting-tcp-send-buffer-size>1024</remoting-tcp-send-buffer-size>
<remoting-enable-ssl>true</remoting-enable-ssl>
<remoting-ssl-keystore-path>messaging.keystore</remoting-ssl-keystore-path>
<remoting-ssl-keystore-password>secureexample keystore</remoting-ssl-keystore-password>
Modified: trunk/tests/src/org/jboss/messaging/core/config/impl/test/unit/ConfigurationTest.java
===================================================================
--- trunk/tests/src/org/jboss/messaging/core/config/impl/test/unit/ConfigurationTest.java 2008-04-08 14:55:45 UTC (rev 4022)
+++ trunk/tests/src/org/jboss/messaging/core/config/impl/test/unit/ConfigurationTest.java 2008-04-09 12:53:31 UTC (rev 4023)
@@ -109,6 +109,11 @@
assertEquals(8192, configuration.getTcpReceiveBufferSize());
}
+ public void testRemotingTcpSendBufferSize() throws Exception
+ {
+ assertEquals(1024, configuration.getTcpSendBufferSize());
+ }
+
public void testRemotingEnableSSL() throws Exception
{
assertEquals(true, configuration.isSSLEnabled());
Modified: trunk/tests/src/org/jboss/messaging/core/remoting/test/unit/RemotingConfigurationValidatorTest.java
===================================================================
--- trunk/tests/src/org/jboss/messaging/core/remoting/test/unit/RemotingConfigurationValidatorTest.java 2008-04-08 14:55:45 UTC (rev 4022)
+++ trunk/tests/src/org/jboss/messaging/core/remoting/test/unit/RemotingConfigurationValidatorTest.java 2008-04-09 12:53:31 UTC (rev 4023)
@@ -50,7 +50,6 @@
fail("can not set a negative port");
} catch (Exception e)
{
-
}
}
@@ -64,7 +63,6 @@
fail("can not set tcp receive buffer size to 0");
} catch (Exception e)
{
-
}
}
@@ -85,10 +83,42 @@
fail("can not set tcp receive buffer size to a negative number other than -1");
} catch (Exception e)
{
-
}
}
+ public void test_TcpSendBufferSize_to_0()
+ {
+ ConfigurationImpl config = ConfigurationHelper.newConfiguration(TCP, "localhost", 9000);
+ config.setTcpSendBufferSize(0);
+ try
+ {
+ validate(config);
+ fail("can not set tcp send buffer size to 0");
+ } catch (Exception e)
+ {
+ }
+ }
+
+ public void test_TcpSendBufferSize_to_minusOne()
+ {
+ ConfigurationImpl config = ConfigurationHelper.newConfiguration(TCP, "localhost", 9000);
+ config.setTcpSendBufferSize(-1);
+ validate(config);
+ }
+
+ public void test_TcpSendBufferSize_to_NegativeNumber()
+ {
+ ConfigurationImpl config = ConfigurationHelper.newConfiguration(TCP, "localhost", 9000);
+ config.setTcpSendBufferSize(-2);
+ try
+ {
+ validate(config);
+ fail("can not set tcp send buffer size to a negative number other than -1");
+ } catch (Exception e)
+ {
+ }
+ }
+
public void test_DisableINVM_With_INVMTransport()
{
ConfigurationImpl config = ConfigurationHelper.newConfiguration(INVM, "localhost", 9000);
More information about the jboss-cvs-commits
mailing list