[jboss-cvs] JBoss Messaging SVN: r7818 - branches/Branch_1_4/src/main/org/jboss/jms/client/remoting.
jboss-cvs-commits at lists.jboss.org
jboss-cvs-commits at lists.jboss.org
Sat Sep 19 11:05:48 EDT 2009
Author: gaohoward
Date: 2009-09-19 11:05:48 -0400 (Sat, 19 Sep 2009)
New Revision: 7818
Modified:
branches/Branch_1_4/src/main/org/jboss/jms/client/remoting/ClientSocketWrapper.java
Log:
JBMESSAGING-1737
Modified: branches/Branch_1_4/src/main/org/jboss/jms/client/remoting/ClientSocketWrapper.java
===================================================================
--- branches/Branch_1_4/src/main/org/jboss/jms/client/remoting/ClientSocketWrapper.java 2009-09-19 14:48:34 UTC (rev 7817)
+++ branches/Branch_1_4/src/main/org/jboss/jms/client/remoting/ClientSocketWrapper.java 2009-09-19 15:05:48 UTC (rev 7818)
@@ -35,7 +35,8 @@
import org.jboss.logging.Logger;
import org.jboss.remoting.transport.socket.OpenConnectionChecker;
-import org.jboss.remoting.transport.socket.SocketWrapper;
+import org.jboss.remoting.marshal.Marshaller;
+import org.jboss.remoting.marshal.UnMarshaller;
/**
* @author <a href="mailto:tom.elrod at jboss.com">Tom Elrod</a>
@@ -43,7 +44,7 @@
*
* $Id$
*/
-public class ClientSocketWrapper extends SocketWrapper implements OpenConnectionChecker
+public class ClientSocketWrapper extends org.jboss.remoting.transport.socket.ClientSocketWrapper implements OpenConnectionChecker
{
// Constants ------------------------------------------------------------------------------------
final static private Logger log = Logger.getLogger(ClientSocketWrapper.class);
@@ -53,8 +54,13 @@
// Attributes -----------------------------------------------------------------------------------
- private DataInputStream in;
- private DataOutputStream out;
+// private DataInputStream in;
+// private DataOutputStream out;
+
+// static
+// {
+// System.out.println("Using new ClientSocketWraper: 9/11/09: 18:20");
+// }
// Constructors ---------------------------------------------------------------------------------
@@ -66,36 +72,39 @@
public ClientSocketWrapper(Socket socket, Map metadata, Integer timeout) throws Exception
{
- super(socket, timeout);
+ super(socket, metadata, timeout);
createStreams(socket, metadata);
}
- // SocketWrapper overrides ----------------------------------------------------------------------
+ // Client SocketWrapper overrides ----------------------------------------------------------------------
- public OutputStream getOutputStream()
- {
- return out;
- }
-
- public InputStream getInputStream()
- {
- return in;
- }
-
public void checkConnection() throws IOException
{
// Test to see if socket is alive by send ACK message
final byte ACK = 1;
- out.writeByte(ACK);
- out.flush();
- in.readByte();
+ log.debug(this + ".checkConnection() writing ACK");
+ ((DataOutputStream)getOutputStream()).writeByte(ACK);
+ ((DataOutputStream)getOutputStream()).flush();
+ try
+ {
+ int b = ((DataInputStream)getInputStream()).readByte();
+ log.debug(this + ".checkConnection read " + b);
+ }
+ catch (IOException e)
+ {
+ log.debug(this + ".checkConnection(): ", e);
+ throw e;
+ }
}
+
// OpenConnectionChecker implementation ---------------------------------------------------------
-
+
public void checkOpenConnection() throws IOException
{
- if (in.available() > 0)
+ if (log.isTraceEnabled()) log.trace("checking open connection");
+
+ if (((DataInputStream)getInputStream()).available() > 1)
{
log.trace("remote endpoint has closed");
throw new IOException("remote endpoint has closed");
@@ -104,26 +113,13 @@
// Public ---------------------------------------------------------------------------------------
- public String toString()
- {
- Socket socket = getSocket();
- return "ClientSocketWrapper[" + socket + "." +
- Integer.toHexString(System.identityHashCode(socket)) + "]";
- }
-
// Package protected ----------------------------------------------------------------------------
// Protected ------------------------------------------------------------------------------------
- protected void createStreams(Socket socket, Map metadata) throws IOException
+ protected InputStream createInputStream(String serializationType, Socket socket, UnMarshaller unmarshaller)
+ throws IOException
{
- out = createOutputStream(socket);
- in = createInputStream(socket);
- }
-
- protected DataInputStream createInputStream(Socket socket)
- throws IOException
- {
// We make sure the buffer is big (default is 8192)- remember we flush after every request
// or response so this is ok. We want to avoid flushes at other times.
//TODO this could be made configurable
@@ -133,17 +129,26 @@
return new DataInputStream(bin);
}
- protected DataOutputStream createOutputStream(Socket socket)
- throws IOException
- {
+ protected OutputStream createOutputStream(String serializationType, Socket socket, Marshaller marshaller)
+ throws IOException
+{
// We make sure the buffer is big (default is 8192)- remember we flush after every request
// or response so this is ok. We want to avoid flushes at other times.
//TODO this could be made configurable
- BufferedOutputStream bout = new BufferedOutputStream(socket.getOutputStream(), 65536);
+ OutputStream os = super.createOutputStream(serializationType, socket, marshaller);
+ log.debug(this + ": os = " + os);
+ BufferedOutputStream bout = new BufferedOutputStream(os, 65536);
return new DataOutputStream(bout);
}
+
+ public String toString()
+ {
+ Socket socket = getSocket();
+ return "NEW ClientSocketWrapper[" + socket + "." +
+ Integer.toHexString(System.identityHashCode(socket)) + "]";
+ }
// Private --------------------------------------------------------------------------------------
More information about the jboss-cvs-commits
mailing list