Author: pero
Date: Mon Aug 13 11:32:58 2007
New Revision: 565469
URL: http://svn.apache.org/viewvc?view=rev&rev=565469
Log:
Backport Tomcat 6 cluster socket parameter.
Modified:
tomcat/container/tc5.5.x/modules/cluster/src/share/org/apache/catalina/cluster/tcp/ClusterReceiverBase.java
tomcat/container/tc5.5.x/modules/cluster/src/share/org/apache/catalina/cluster/tcp/DataSender.java
tomcat/container/tc5.5.x/modules/cluster/src/share/org/apache/catalina/cluster/tcp/ReplicationListener.java
tomcat/container/tc5.5.x/modules/cluster/src/share/org/apache/catalina/cluster/tcp/SocketReplicationListener.java
tomcat/container/tc5.5.x/modules/cluster/src/share/org/apache/catalina/cluster/tcp/mbeans-descriptors.xml
tomcat/container/tc5.5.x/webapps/docs/changelog.xml
Modified:
tomcat/container/tc5.5.x/modules/cluster/src/share/org/apache/catalina/cluster/tcp/ClusterReceiverBase.java
URL:
http://svn.apache.org/viewvc/tomcat/container/tc5.5.x/modules/cluster/src/share/org/apache/catalina/cluster/tcp/ClusterReceiverBase.java?view=diff&rev=565469&r1=565468&r2=565469
==============================================================================
---
tomcat/container/tc5.5.x/modules/cluster/src/share/org/apache/catalina/cluster/tcp/ClusterReceiverBase.java
(original)
+++
tomcat/container/tc5.5.x/modules/cluster/src/share/org/apache/catalina/cluster/tcp/ClusterReceiverBase.java
Mon Aug 13 11:32:58 2007
@@ -93,6 +93,16 @@
private long lastChecked = System.currentTimeMillis();
+ private int rxBufSize = 43800;
+ private int txBufSize = 25188;
+ private boolean tcpNoDelay = true;
+ private boolean soKeepAlive = false;
+ private boolean ooBInline = true;
+ private boolean soReuseAddress = true;
+ private boolean soLingerOn = true;
+ private int soLingerTime = 3;
+ private int soTrafficClass = 0x04 | 0x08 | 0x010;
+ private int timeout = 3000; //3 seconds
/**
* Compress message data bytes
@@ -104,6 +114,146 @@
*/
private ObjectName objectName;
+ /**
+ * @return the ooBInline
+ */
+ public boolean isOoBInline() {
+ return ooBInline;
+ }
+
+ /**
+ * @param ooBInline the ooBInline to set
+ */
+ public void setOoBInline(boolean ooBInline) {
+ this.ooBInline = ooBInline;
+ }
+
+ /**
+ * @return the rxBufSize
+ */
+ public int getRxBufSize() {
+ return rxBufSize;
+ }
+
+ /**
+ * @param rxBufSize the rxBufSize to set
+ */
+ public void setRxBufSize(int rxBufSize) {
+ this.rxBufSize = rxBufSize;
+ }
+
+ /**
+ * @return the soKeepAlive
+ */
+ public boolean isSoKeepAlive() {
+ return soKeepAlive;
+ }
+
+ /**
+ * @param soKeepAlive the soKeepAlive to set
+ */
+ public void setSoKeepAlive(boolean soKeepAlive) {
+ this.soKeepAlive = soKeepAlive;
+ }
+
+ /**
+ * @return the soLingerOn
+ */
+ public boolean isSoLingerOn() {
+ return soLingerOn;
+ }
+
+ /**
+ * @param soLingerOn the soLingerOn to set
+ */
+ public void setSoLingerOn(boolean soLingerOn) {
+ this.soLingerOn = soLingerOn;
+ }
+
+ /**
+ * @return the soLingerTime
+ */
+ public int getSoLingerTime() {
+ return soLingerTime;
+ }
+
+ /**
+ * @param soLingerTime the soLingerTime to set
+ */
+ public void setSoLingerTime(int soLingerTime) {
+ this.soLingerTime = soLingerTime;
+ }
+
+ /**
+ * @return the soReuseAddress
+ */
+ public boolean isSoReuseAddress() {
+ return soReuseAddress;
+ }
+
+ /**
+ * @param soReuseAddress the soReuseAddress to set
+ */
+ public void setSoReuseAddress(boolean soReuseAddress) {
+ this.soReuseAddress = soReuseAddress;
+ }
+
+ /**
+ * @return the soTrafficClass
+ */
+ public int getSoTrafficClass() {
+ return soTrafficClass;
+ }
+
+ /**
+ * @param soTrafficClass the soTrafficClass to set
+ */
+ public void setSoTrafficClass(int soTrafficClass) {
+ this.soTrafficClass = soTrafficClass;
+ }
+
+ /**
+ * @return the tcpNoDelay
+ */
+ public boolean isTcpNoDelay() {
+ return tcpNoDelay;
+ }
+
+ /**
+ * @param tcpNoDelay the tcpNoDelay to set
+ */
+ public void setTcpNoDelay(boolean tcpNoDelay) {
+ this.tcpNoDelay = tcpNoDelay;
+ }
+
+ /**
+ * @return the timeout
+ */
+ public int getTimeout() {
+ return timeout;
+ }
+
+ /**
+ * @param timeout the timeout to set
+ */
+ public void setTimeout(int timeout) {
+ this.timeout = timeout;
+ }
+
+ /**
+ * @return the txBufSize
+ */
+ public int getTxBufSize() {
+ return txBufSize;
+ }
+
+ /**
+ * @param txBufSize the txBufSize to set
+ */
+ public void setTxBufSize(int txBufSize) {
+ this.txBufSize = txBufSize;
+ }
+
/**
* @return Returns the doListen.
*/
Modified:
tomcat/container/tc5.5.x/modules/cluster/src/share/org/apache/catalina/cluster/tcp/DataSender.java
URL:
http://svn.apache.org/viewvc/tomcat/container/tc5.5.x/modules/cluster/src/share/org/apache/catalina/cluster/tcp/DataSender.java?view=diff&rev=565469&r1=565468&r2=565469
==============================================================================
---
tomcat/container/tc5.5.x/modules/cluster/src/share/org/apache/catalina/cluster/tcp/DataSender.java
(original)
+++
tomcat/container/tc5.5.x/modules/cluster/src/share/org/apache/catalina/cluster/tcp/DataSender.java
Mon Aug 13 11:32:58 2007
@@ -54,7 +54,7 @@
/**
* The descriptive information about this implementation.
*/
- private static final String info = "DataSender/2.1";
+ private static final String info = "DataSender/2.2";
/**
* receiver address
@@ -92,11 +92,17 @@
*/
private SenderState senderState = new SenderState();
- /**
- * wait time for ack
- */
- private long ackTimeout;
-
+ private int rxBufSize = 25188;
+ private int txBufSize = 43800;
+ private long timeout = 3000;
+ private boolean tcpNoDelay = true;
+ private boolean soKeepAlive = false;
+ private boolean ooBInline = true;
+ private boolean soReuseAddress = true;
+ private boolean soLingerOn = false;
+ private int soLingerTime = 3;
+ private int soTrafficClass = 0x04 | 0x08 | 0x010;
+
/**
* number of requests
*/
@@ -489,12 +495,178 @@
this.senderState.setReady();
}
+ /**
+ * @return the ooBInline
+ * @since 5.5.25
+ */
+ public boolean isOoBInline() {
+ return ooBInline;
+ }
+
+ /**
+ * @param ooBInline the ooBInline to set
+ * @since 5.5.25
+ */
+ public void setOoBInline(boolean ooBInline) {
+ this.ooBInline = ooBInline;
+ }
+
+ /**
+ * @return the rxBufSize
+ * @since 5.5.25
+ */
+ public int getRxBufSize() {
+ return rxBufSize;
+ }
+
+ /**
+ * @param rxBufSize the rxBufSize to set
+ * @since 5.5.25
+ */
+ public void setRxBufSize(int rxBufSize) {
+ this.rxBufSize = rxBufSize;
+ }
+
+ /**
+ * @return the soKeepAlive
+ * @since 5.5.25
+ */
+ public boolean isSoKeepAlive() {
+ return soKeepAlive;
+ }
+
+ /**
+ * @param soKeepAlive the soKeepAlive to set
+ * @since 5.5.25
+ */
+ public void setSoKeepAlive(boolean soKeepAlive) {
+ this.soKeepAlive = soKeepAlive;
+ }
+
+ /**
+ * @return the soLingerOn
+ * @since 5.5.25
+ */
+ public boolean isSoLingerOn() {
+ return soLingerOn;
+ }
+
+ /**
+ * @param soLingerOn the soLingerOn to set
+ * @since 5.5.25
+ */
+ public void setSoLingerOn(boolean soLingerOn) {
+ this.soLingerOn = soLingerOn;
+ }
+
+ /**
+ * @return the soLingerTime
+ * @since 5.5.25
+ */
+ public int getSoLingerTime() {
+ return soLingerTime;
+ }
+
+ /**
+ * @param soLingerTime the soLingerTime to set
+ * @since 5.5.25
+ */
+ public void setSoLingerTime(int soLingerTime) {
+ this.soLingerTime = soLingerTime;
+ }
+
+ /**
+ * @return the soReuseAddress
+ * @since 5.5.25
+ */
+ public boolean isSoReuseAddress() {
+ return soReuseAddress;
+ }
+
+ /**
+ * @param soReuseAddress the soReuseAddress to set
+ * @since 5.5.25
+ */
+ public void setSoReuseAddress(boolean soReuseAddress) {
+ this.soReuseAddress = soReuseAddress;
+ }
+
+ /**
+ * @return the soTrafficClass
+ * @since 5.5.25
+ */
+ public int getSoTrafficClass() {
+ return soTrafficClass;
+ }
+
+ /**
+ * @param soTrafficClass the soTrafficClass to set
+ * @since 5.5.25
+ */
+ public void setSoTrafficClass(int soTrafficClass) {
+ this.soTrafficClass = soTrafficClass;
+ }
+
+ /**
+ * @return the tcpNoDelay
+ * @since 5.5.25
+ */
+ public boolean isTcpNoDelay() {
+ return tcpNoDelay;
+ }
+
+ /**
+ * @param tcpNoDelay the tcpNoDelay to set
+ * @since 5.5.25
+ */
+ public void setTcpNoDelay(boolean tcpNoDelay) {
+ this.tcpNoDelay = tcpNoDelay;
+ }
+
+ /**
+ * @return the timeout
+ * @since 5.5.25
+ */
+ public long getTimeout() {
+ return timeout;
+ }
+
+ /**
+ * @param timeout the timeout to set
+ * @since 5.5.25
+ */
+ public void setTimeout(long timeout) {
+ this.timeout = timeout;
+ }
+
+ /**
+ * @return the txBufSize
+ * @since 5.5.25
+ */
+ public int getTxBufSize() {
+ return txBufSize;
+ }
+
+ /**
+ * @param txBufSize the txBufSize to set
+ * @since 5.5.25
+ */
+ public void setTxBufSize(int txBufSize) {
+ this.txBufSize = txBufSize;
+ }
+
+ /**
+ * @deprecated since 5.5.25 use timeout instead
+ */
public long getAckTimeout() {
- return ackTimeout;
+ return timeout;
}
+ /**
+ * @deprecated since 5.5.25 use timeout instead
+ */
public void setAckTimeout(long ackTimeout) {
- this.ackTimeout = ackTimeout;
+ this.timeout = ackTimeout;
}
public long getKeepAliveTimeout() {
@@ -693,7 +865,7 @@
try {
createSocket();
if (isWaitForAck())
- socket.setSoTimeout((int) ackTimeout);
+ socket.setSoTimeout((int) getTimeout());
isSocketConnected = true;
socketOpenCounter++;
this.keepAliveCount = 0;
@@ -720,12 +892,22 @@
protected void createSocket() throws IOException, SocketException {
SocketAddress sockAddr = new InetSocketAddress(getAddress(),
getPort());
socket = new Socket();
- int timeout = (int) getAckTimeout();
+ int timeout = (int) getTimeout();
if (timeout > 0) {
socket.connect(sockAddr, timeout);
} else {
socket.connect(sockAddr);
}
+ socket.setSendBufferSize(getTxBufSize());
+ socket.setReceiveBufferSize(getRxBufSize());
+ socket.setSoTimeout( (int) getTimeout());
+ socket.setTcpNoDelay(isTcpNoDelay());
+ socket.setKeepAlive(isSoKeepAlive());
+ socket.setReuseAddress(isSoReuseAddress());
+ socket.setOOBInline(isOoBInline());
+ socket.setSoLinger(isSoLingerOn(),getSoLingerTime());
+ socket.setTrafficClass(getSoTrafficClass());
+
}
/**
@@ -894,7 +1076,7 @@
out.write(XByteBuffer.createDataPackage(message,data.getCompress()));
out.flush();
if (isWaitForAck())
- waitForAck(ackTimeout);
+ waitForAck(getTimeout());
} finally {
synchronized(this) {
isMessageTransferStarted = false ;
@@ -940,7 +1122,7 @@
missingAckCounter++;
String errmsg = sm.getString("IDataSender.ack.missing",
getAddress(),
new Integer(socket.getLocalPort()),
- new Long(this.ackTimeout));
+ new Long(this.timeout));
if ( !this.isSuspect() ) {
this.setSuspect(true);
if ( log.isWarnEnabled() ) log.warn(errmsg, x);
Modified:
tomcat/container/tc5.5.x/modules/cluster/src/share/org/apache/catalina/cluster/tcp/ReplicationListener.java
URL:
http://svn.apache.org/viewvc/tomcat/container/tc5.5.x/modules/cluster/src/share/org/apache/catalina/cluster/tcp/ReplicationListener.java?view=diff&rev=565469&r1=565468&r2=565469
==============================================================================
---
tomcat/container/tc5.5.x/modules/cluster/src/share/org/apache/catalina/cluster/tcp/ReplicationListener.java
(original)
+++
tomcat/container/tc5.5.x/modules/cluster/src/share/org/apache/catalina/cluster/tcp/ReplicationListener.java
Mon Aug 13 11:32:58 2007
@@ -123,6 +123,7 @@
serverChannel.configureBlocking (false);
// register the ServerSocketChannel with the Selector
serverChannel.register (selector, SelectionKey.OP_ACCEPT);
+
while (doListen && selector != null) {
// this may block for a long time, upon return the
// selected set contains keys of the ready channels
@@ -135,11 +136,11 @@
//selector wakeup().
//if that happens, we must ensure that that
//thread has enough time to call interestOps
- synchronized (interestOpsMutex) {
+ //synchronized (interestOpsMutex) {
//if we got the lock, means there are no
//keys trying to register for the
//interestOps method
- }
+ //}
continue; // nothing to do
}
// get an iterator over the set of selected keys
@@ -151,7 +152,18 @@
if (key.isAcceptable()) {
ServerSocketChannel server =
(ServerSocketChannel) key.channel();
+ // get channel
SocketChannel channel = server.accept();
+ channel.socket().setReceiveBufferSize(getRxBufSize());
+ channel.socket().setSendBufferSize(getTxBufSize());
+ channel.socket().setTcpNoDelay(isTcpNoDelay());
+ channel.socket().setKeepAlive(isSoKeepAlive());
+ channel.socket().setOOBInline(isOoBInline());
+ channel.socket().setReuseAddress(isSoReuseAddress());
+
channel.socket().setSoLinger(isSoLingerOn(),getSoLingerTime());
+ channel.socket().setTrafficClass(getSoTrafficClass());
+ channel.socket().setSoTimeout(getTimeout());
+ // attach Reader and register channel
Object attach = new ObjectReader(channel, selector,
this) ;
registerChannel(selector,
Modified:
tomcat/container/tc5.5.x/modules/cluster/src/share/org/apache/catalina/cluster/tcp/SocketReplicationListener.java
URL:
http://svn.apache.org/viewvc/tomcat/container/tc5.5.x/modules/cluster/src/share/org/apache/catalina/cluster/tcp/SocketReplicationListener.java?view=diff&rev=565469&r1=565468&r2=565469
==============================================================================
---
tomcat/container/tc5.5.x/modules/cluster/src/share/org/apache/catalina/cluster/tcp/SocketReplicationListener.java
(original)
+++
tomcat/container/tc5.5.x/modules/cluster/src/share/org/apache/catalina/cluster/tcp/SocketReplicationListener.java
Mon Aug 13 11:32:58 2007
@@ -44,7 +44,7 @@
/**
* The descriptive information about this implementation.
*/
- private static final String info = "SocketReplicationListener/1.2";
+ private static final String info = "SocketReplicationListener/1.3";
// ---------------------------------------------------- Properties
private ServerSocket serverSocket = null;
@@ -100,6 +100,8 @@
this.tcpListenTimeout = tcpListenTimeout;
}
+
+
// ---------------------------------------------------- public methods
/**
@@ -130,7 +132,8 @@
// ---------------------------------------------------- protected methods
/**
- * Master/Slave Sender handling / bind Server Socket at addres and port
+ * Master/Slave sender handling
+ * bind server socket to address and port
*
* @throws Exception
*/
@@ -141,7 +144,7 @@
return;
}
- // Get the associated ServerSocket to bind it with
+ // Get the associated ServerSocket to bind it with client
try {
serverSocket = createServerSocket();
if(serverSocket != null) {
@@ -150,6 +153,17 @@
try {
Socket socket = serverSocket.accept();
if (doListen) {
+ if ( socket == null ) continue;
+ socket.setReceiveBufferSize(getRxBufSize());
+ socket.setSendBufferSize(getTxBufSize());
+ socket.setTcpNoDelay(isTcpNoDelay());
+ socket.setKeepAlive(isSoKeepAlive());
+ socket.setOOBInline(isOoBInline());
+ socket.setReuseAddress(isSoReuseAddress());
+
socket.setSoLinger(isSoLingerOn(),getSoLingerTime());
+ socket.setTrafficClass(getSoTrafficClass());
+ socket.setSoTimeout(getTimeout());
+ // Switch to separate thread and read all messages
SocketReplicationThread t = new
SocketReplicationThread(
this, socket);
t.setDaemon(true);
@@ -203,6 +217,7 @@
inet.getHostAddress(),
Integer.toString(i),
ex.toString()));
+ try {Thread.sleep(25);}catch( InterruptedException ti) {}
continue;
}
}
Modified:
tomcat/container/tc5.5.x/modules/cluster/src/share/org/apache/catalina/cluster/tcp/mbeans-descriptors.xml
URL:
http://svn.apache.org/viewvc/tomcat/container/tc5.5.x/modules/cluster/src/share/org/apache/catalina/cluster/tcp/mbeans-descriptors.xml?view=diff&rev=565469&r1=565468&r2=565469
==============================================================================
---
tomcat/container/tc5.5.x/modules/cluster/src/share/org/apache/catalina/cluster/tcp/mbeans-descriptors.xml
(original)
+++
tomcat/container/tc5.5.x/modules/cluster/src/share/org/apache/catalina/cluster/tcp/mbeans-descriptors.xml
Mon Aug 13 11:32:58 2007
@@ -123,6 +123,41 @@
<attribute name="tcpSelectorTimeout"
description="tcp listener Selector timeout"
type="long"/>
+ <attribute name="soTrafficClass"
+ description="traffic class (default 0x04 | 0x08 | 0x010)"
+ type="int"/>
+ <attribute name="rxBufSize"
+ description="receiver buffer size (default 43800)"
+ type="int"/>
+ <attribute name="txBufSize"
+ description="send buffer size (default 25188)"
+ type="int"/>
+ <attribute name="tcpNoDelay"
+ description="set tcpNoDelay (default true)"
+ is="true"
+ type="boolean" />
+ <attribute name="soKeepAlive"
+ description="set soKeepAlive (default false)"
+ is="true"
+ type="boolean" />
+ <attribute name="ooBInline"
+ description="set ooBInline (default true)"
+ is="true"
+ type="boolean" />
+ <attribute name="soReuseAddress"
+ description="set soReuseAddress (default true)"
+ is="true"
+ type="boolean" />
+ <attribute name="soLingerOn"
+ description="set soLingerOn (default false)"
+ is="true"
+ type="boolean" />
+ <attribute name="soLingerTime"
+ description="if soLingerOn use soLingerTime (default 3)"
+ type="int"/>
+ <attribute name="timeout"
+ description="soTimeout and acknowledge timeout (default 3000 msec)"
+ type="long"/>
<attribute name="nrOfMsgsReceived"
description="number of messages received from other nodes"
type="long"
@@ -220,6 +255,41 @@
description="number of messages received from other nodes"
type="long"
writeable="false"/>
+ <attribute name="soTrafficClass"
+ description="traffic class (default 0x04 | 0x08 | 0x010)"
+ type="int"/>
+ <attribute name="rxBufSize"
+ description="receiver buffer size (default 43800)"
+ type="int"/>
+ <attribute name="txBufSize"
+ description="send buffer size (default 25188)"
+ type="int"/>
+ <attribute name="tcpNoDelay"
+ description="set tcpNoDelay (default true)"
+ is="true"
+ type="boolean" />
+ <attribute name="soKeepAlive"
+ description="set soKeepAlive (default false)"
+ is="true"
+ type="boolean" />
+ <attribute name="ooBInline"
+ description="set ooBInline (default true)"
+ is="true"
+ type="boolean" />
+ <attribute name="soReuseAddress"
+ description="set soReuseAddress (default true)"
+ is="true"
+ type="boolean" />
+ <attribute name="soLingerOn"
+ description="set soLingerOn (default false)"
+ is="true"
+ type="boolean" />
+ <attribute name="soLingerTime"
+ description="if soLingerOn use soLingerTime (default 3)"
+ type="int"/>
+ <attribute name="timeout"
+ description="soTimeout and acknowledge timeout (default 3000 msec)"
+ type="long"/>
<attribute name="receivedTime"
description="total time message send time"
type="long"
@@ -395,8 +465,37 @@
is="true"
type="boolean"
writeable="false"/>
+ <attribute name="txBufSize"
+ description="send buffer size (default 43800)"
+ type="int"/>
+ <attribute name="tcpNoDelay"
+ description="set tcpNoDelay (default true)"
+ is="true"
+ type="boolean" />
+ <attribute name="soKeepAlive"
+ description="set soKeepAlive (default false)"
+ is="true"
+ type="boolean" />
+ <attribute name="ooBInline"
+ description="set ooBInline (default true)"
+ is="true"
+ type="boolean" />
+ <attribute name="soReuseAddress"
+ description="set soReuseAddress (default true)"
+ is="true"
+ type="boolean" />
+ <attribute name="soLingerOn"
+ description="set soLingerOn (default false)"
+ is="true"
+ type="boolean" />
+ <attribute name="soLingerTime"
+ description="if soLingerOn use soLingerTime (default 3)"
+ type="int"/>
+ <attribute name="timeout"
+ description="connect and acknowledge timeout (default 3000 msec)"
+ type="long"/>
<attribute name="ackTimeout"
- description="acknowledge timeout"
+ description="acknowledge timeout acknowledge timeout (deprecated use
timeout)"
type="long"/>
<attribute name="avgMessageSize"
writeable="false"
@@ -577,8 +676,43 @@
is="true"
type="boolean"
writeable="false"/>
+ <attribute name="soTrafficClass"
+ description="traffic class (default 0x04 | 0x08 | 0x010)"
+ type="int"/>
+ <attribute name="rxBufSize"
+ description="receiver buffer size (default 25188)"
+ type="int"/>
+ <attribute name="txBufSize"
+ description="send buffer size (default 43800)"
+ type="int"/>
+ <attribute name="tcpNoDelay"
+ description="set tcpNoDelay (default true)"
+ is="true"
+ type="boolean" />
+ <attribute name="soKeepAlive"
+ description="set soKeepAlive (default false)"
+ is="true"
+ type="boolean" />
+ <attribute name="ooBInline"
+ description="set ooBInline (default true)"
+ is="true"
+ type="boolean" />
+ <attribute name="soReuseAddress"
+ description="set soReuseAddress (default true)"
+ is="true"
+ type="boolean" />
+ <attribute name="soLingerOn"
+ description="set soLingerOn (default false)"
+ is="true"
+ type="boolean" />
+ <attribute name="soLingerTime"
+ description="if soLingerOn use soLingerTime (default 3)"
+ type="int"/>
+ <attribute name="timeout"
+ description="connect and acknowledge timeout (default 3000 msec)"
+ type="long"/>
<attribute name="ackTimeout"
- description="acknowledge timeout"
+ description="acknowledge timeout (deprecated use timeout)"
type="long"/>
<attribute name="avgMessageSize"
writeable="false"
@@ -782,8 +916,43 @@
<attribute name="suspect"
description="Socket is gone"
type="boolean"/>
+ <attribute name="soTrafficClass"
+ description="traffic class (default 0x04 | 0x08 | 0x010)"
+ type="int"/>
+ <attribute name="rxBufSize"
+ description="receiver buffer size (default 25188)"
+ type="int"/>
+ <attribute name="txBufSize"
+ description="send buffer size (default 43800)"
+ type="int"/>
+ <attribute name="tcpNoDelay"
+ description="set tcpNoDelay (default true)"
+ is="true"
+ type="boolean" />
+ <attribute name="soKeepAlive"
+ description="set soKeepAlive (default false)"
+ is="true"
+ type="boolean" />
+ <attribute name="ooBInline"
+ description="set ooBInline (default true)"
+ is="true"
+ type="boolean" />
+ <attribute name="soReuseAddress"
+ description="set soReuseAddress (default true)"
+ is="true"
+ type="boolean" />
+ <attribute name="soLingerOn"
+ description="set soLingerOn (default false)"
+ is="true"
+ type="boolean" />
+ <attribute name="soLingerTime"
+ description="if soLingerOn use soLingerTime (default 3)"
+ type="int"/>
+ <attribute name="timeout"
+ description="connect and acknowledge timeout (default 3000 msec)"
+ type="long"/>
<attribute name="ackTimeout"
- description="acknowledge timeout"
+ description="acknowledge timeout (deprecated use timeout)"
type="long"/>
<attribute name="waitForAck"
description="Wait for ack after data send"
@@ -816,7 +985,7 @@
writeable="false"/>
<attribute name="avgMessageSize"
writeable="false"
- description="avg message size (totalbytes/nrOfRequests"
+ description="avg message size (totalbytes/nrOfRequests)"
type="long"/>
<attribute name="nrOfRequests"
description="number of send messages to other members"
@@ -868,8 +1037,43 @@
<attribute name="suspect"
description="Socket is gone"
type="boolean"/>
+ <attribute name="soTrafficClass"
+ description="traffic class (default 0x04 | 0x08 | 0x010)"
+ type="int"/>
+ <attribute name="rxBufSize"
+ description="receiver buffer size (default 25188)"
+ type="int"/>
+ <attribute name="txBufSize"
+ description="send buffer size (default 43800)"
+ type="int"/>
+ <attribute name="tcpNoDelay"
+ description="set tcpNoDelay (default true)"
+ is="true"
+ type="boolean" />
+ <attribute name="soKeepAlive"
+ description="set soKeepAlive (default false)"
+ is="true"
+ type="boolean" />
+ <attribute name="ooBInline"
+ description="set ooBInline (default true)"
+ is="true"
+ type="boolean" />
+ <attribute name="soReuseAddress"
+ description="set soReuseAddress (default true)"
+ is="true"
+ type="boolean" />
+ <attribute name="soLingerOn"
+ description="set soLingerOn (default false)"
+ is="true"
+ type="boolean" />
+ <attribute name="soLingerTime"
+ description="if soLingerOn use soLingerTime (default 3)"
+ type="int"/>
+ <attribute name="timeout"
+ description="connect and acknowledge timeout (default 3000 msec)"
+ type="long"/>
<attribute name="ackTimeout"
- description="acknowledge timeout"
+ description="acknowledge timeout (deprecated use timeout)"
type="long"/>
<attribute name="waitForAck"
description="Wait for ack after data send"
Modified: tomcat/container/tc5.5.x/webapps/docs/changelog.xml
URL:
http://svn.apache.org/viewvc/tomcat/container/tc5.5.x/webapps/docs/changelog.xml?view=diff&rev=565469&r1=565468&r2=565469
==============================================================================
--- tomcat/container/tc5.5.x/webapps/docs/changelog.xml (original)
+++ tomcat/container/tc5.5.x/webapps/docs/changelog.xml Mon Aug 13 11:32:58 2007
@@ -132,6 +132,9 @@
<subsection name="Cluster">
<changelog>
<fix>
+ Backport Tomcat 6 cluster socket parameter. (pero)
+ </fix>
+ <fix>
Fix typo in new MBean attribute which lead to errors in the manager
webapp JMXProxy output. (rjung)
</fix>
<fix>
---------------------------------------------------------------------
To unsubscribe, e-mail: [EMAIL PROTECTED]
For additional commands, e-mail: [EMAIL PROTECTED]