Author: fhanik
Date: Mon Mar 13 13:40:56 2006
New Revision: 385662
URL: http://svn.apache.org/viewcvs?rev=385662&view=rev
Log:
Fixed socket connection logic, too many methods doing the same thing, also, no
timeout was set for connection timeout
Modified:
tomcat/container/tc5.5.x/modules/groupcom/src/share/org/apache/catalina/tribes/tcp/bio/BioSender.java
Modified:
tomcat/container/tc5.5.x/modules/groupcom/src/share/org/apache/catalina/tribes/tcp/bio/BioSender.java
URL:
http://svn.apache.org/viewcvs/tomcat/container/tc5.5.x/modules/groupcom/src/share/org/apache/catalina/tribes/tcp/bio/BioSender.java?rev=385662&r1=385661&r2=385662&view=diff
==============================================================================
---
tomcat/container/tc5.5.x/modules/groupcom/src/share/org/apache/catalina/tribes/tcp/bio/BioSender.java
(original)
+++
tomcat/container/tc5.5.x/modules/groupcom/src/share/org/apache/catalina/tribes/tcp/bio/BioSender.java
Mon Mar 13 13:40:56 2006
@@ -28,6 +28,7 @@
import org.apache.catalina.tribes.tcp.DataSender;
import org.apache.catalina.tribes.tcp.SenderState;
import org.apache.catalina.util.StringManager;
+import java.net.InetSocketAddress;
/**
* Send cluster messages with only one socket. Ack and keep Alive Handling is
@@ -73,7 +74,7 @@
/**
* is Socket really connected
*/
- private boolean isSocketConnected = false;
+ private boolean connected = false;
/**
* sender is in suspect state (last transfer failed)
@@ -187,7 +188,7 @@
}
public boolean isConnected() {
- return isSocketConnected;
+ return connected;
}
public boolean isSuspect() {
@@ -312,12 +313,12 @@
* @see IDataSender#disconnect()
*/
public synchronized void disconnect() {
- boolean connect = isConnected() ;
- closeSocket();
- if(connect) {
- if (log.isDebugEnabled())
- log.debug(sm.getString("IDataSender.disconnect",
address.getHostAddress(),new Integer(port),new Long(0)));
- }
+ boolean connect = isConnected();
+ closeSocket();
+ if (connect) {
+ if (log.isDebugEnabled())
+ log.debug(sm.getString("IDataSender.disconnect",
address.getHostAddress(), new Integer(port), new Long(0)));
+ }
}
@@ -370,16 +371,19 @@
* is socket open return directly
*/
protected synchronized void openSocket() throws IOException {
- if(isConnected())
- return ;
+ if(isConnected()) return ;
try {
- createSocket();
- if (getWaitForAck()) socket.setSoTimeout((int) timeout);
- isSocketConnected = true;
- this.keepAliveCount = 0;
- this.keepAliveConnectTime = System.currentTimeMillis();
- if (log.isDebugEnabled())
- log.debug(sm.getString("IDataSender.openSocket",
address.getHostAddress(), new Integer(port),new Long(0)));
+ socket = new Socket();
+ InetSocketAddress sockaddr = new InetSocketAddress(getAddress(),
getPort());
+ socket.connect(sockaddr,(int)timeout);
+ socket.setSendBufferSize(getTxBufSize());
+ socket.setReceiveBufferSize(getRxBufSize());
+ socket.setSoTimeout( (int) timeout);
+ connected = true;
+ this.keepAliveCount = 0;
+ this.keepAliveConnectTime = System.currentTimeMillis();
+ if (log.isDebugEnabled())
+ log.debug(sm.getString("IDataSender.openSocket",
address.getHostAddress(), new Integer(port), new Long(0)));
} catch (IOException ex1) {
getSenderState().setSuspect();
if (log.isDebugEnabled())
@@ -390,17 +394,6 @@
}
/**
- * @throws IOException
- * @throws SocketException
- */
- protected synchronized void createSocket() throws IOException,
SocketException {
- socket = new Socket(getAddress(), getPort());
- socket.setSendBufferSize(getTxBufSize());
- socket.setReceiveBufferSize(getRxBufSize());
- socket.setSoTimeout((int)timeout);
- }
-
- /**
* close socket
*
* @see DataSender#disconnect()
@@ -417,7 +410,7 @@
}
}
this.keepAliveCount = 0;
- isSocketConnected = false;
+ connected = false;
if (log.isDebugEnabled())
log.debug(sm.getString("IDataSender.closeSocket",address.getHostAddress(), new
Integer(port),new Long(0)));
}
---------------------------------------------------------------------
To unsubscribe, e-mail: [EMAIL PROTECTED]
For additional commands, e-mail: [EMAIL PROTECTED]