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]