[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