Index: Connection.java
===================================================================
RCS file: /home/cvspublic/jakarta-avalon-cornerstone/src/java/org/apache/avalon/cornerstone/blocks/connection/Connection.java,v
retrieving revision 1.12
diff -u -r1.12 Connection.java
--- Connection.java	10 Jul 2002 10:54:28 -0000	1.12
+++ Connection.java	10 Jul 2002 12:13:57 -0000
@@ -26,9 +26,7 @@
  *
  * @author <a href="mailto:peter@apache.org">Peter Donald</a>
  */
-class Connection
-    extends AbstractLogEnabled
-    implements Component, Runnable
+class Connection extends AbstractLogEnabled implements Component, Runnable
 {
     private final ServerSocket m_serverSocket;
     private final ConnectionHandlerFactory m_handlerFactory;
@@ -38,9 +36,7 @@
     //Need to synchronize access to thread object
     private Thread m_thread;
 
-    public Connection( final ServerSocket serverSocket,
-                       final ConnectionHandlerFactory handlerFactory,
-                       final ThreadPool threadPool )
+    public Connection(final ServerSocket serverSocket, final ConnectionHandlerFactory handlerFactory, final ThreadPool threadPool)
     {
         m_serverSocket = serverSocket;
         m_handlerFactory = handlerFactory;
@@ -90,9 +86,8 @@
             try
             {
                 final Socket socket = m_serverSocket.accept();
-                final ConnectionHandler handler = m_handlerFactory.createConnectionHandler();
                 final ConnectionRunner runner =
-                    new ConnectionRunner( socket, m_runners, handler, m_handlerFactory );
+                    new ConnectionRunner( socket, m_runners, m_handlerFactory );
                 setupLogger( runner );
                 m_threadPool.execute( runner );
             }
@@ -125,17 +120,14 @@
     private Socket m_socket;
     private Thread m_thread;
     private List m_runners;
-    private ConnectionHandler m_handler;
     private ConnectionHandlerFactory m_handlerFactory;
 
     ConnectionRunner( final Socket socket,
                       final List runners,
-                      final ConnectionHandler handler,
                       final ConnectionHandlerFactory handlerFactory )
     {
         m_socket = socket;
         m_runners = runners;
-        m_handler = handler;
         m_handlerFactory = handlerFactory;
     }
 
@@ -163,7 +155,9 @@
         {
             m_thread = Thread.currentThread();
             m_runners.add( this );
-
+            
+            final ConnectionHandler handler = m_handlerFactory.createConnectionHandler();
+            
             if( getLogger().isDebugEnabled() )
             {
                 final String message =
@@ -171,7 +165,7 @@
                     m_socket.getInetAddress().getHostAddress();
                 getLogger().debug( message );
             }
-            m_handler.handleConnection( m_socket );
+            handler.handleConnection( m_socket );
 
             if( getLogger().isDebugEnabled() )
             {
@@ -180,7 +174,7 @@
                     m_socket.getInetAddress().getHostAddress();
                 getLogger().debug( message );
             }
-            m_handlerFactory.releaseConnectionHandler( m_handler );
+            m_handlerFactory.releaseConnectionHandler( handler );
         }
         catch( final Exception e )
         {

