You are viewing a plain text version of this content. The canonical link for it is here.
Posted to cvs@avalon.apache.org by ha...@apache.org on 2001/12/22 11:46:31 UTC
cvs commit: jakarta-avalon-cornerstone/src/java/org/apache/avalon/cornerstone/blocks/connection Connection.java
hammant 01/12/22 02:46:31
Modified: src/java/org/apache/avalon/cornerstone/services/connection
ConnectionHandlerFactory.java
DefaultHandlerFactory.java
src/java/org/apache/avalon/cornerstone/blocks/connection
Connection.java
Log:
release method added. From Jan <vi...@gmx.de>
Revision Changes Path
1.4 +6 -0 jakarta-avalon-cornerstone/src/java/org/apache/avalon/cornerstone/services/connection/ConnectionHandlerFactory.java
Index: ConnectionHandlerFactory.java
===================================================================
RCS file: /home/cvs/jakarta-avalon-cornerstone/src/java/org/apache/avalon/cornerstone/services/connection/ConnectionHandlerFactory.java,v
retrieving revision 1.3
retrieving revision 1.4
diff -u -r1.3 -r1.4
--- ConnectionHandlerFactory.java 2001/12/11 10:49:20 1.3
+++ ConnectionHandlerFactory.java 2001/12/22 10:46:31 1.4
@@ -22,5 +22,11 @@
*/
ConnectionHandler createConnectionHandler()
throws Exception;
+
+ /**
+ * Release a previously created ConnectionHandler e.g. for spooling.
+ */
+ void releaseConnectionHandler( ConnectionHandler connectionHandler );
+
}
1.4 +7 -0 jakarta-avalon-cornerstone/src/java/org/apache/avalon/cornerstone/services/connection/DefaultHandlerFactory.java
Index: DefaultHandlerFactory.java
===================================================================
RCS file: /home/cvs/jakarta-avalon-cornerstone/src/java/org/apache/avalon/cornerstone/services/connection/DefaultHandlerFactory.java,v
retrieving revision 1.3
retrieving revision 1.4
diff -u -r1.3 -r1.4
--- DefaultHandlerFactory.java 2001/12/11 10:49:20 1.3
+++ DefaultHandlerFactory.java 2001/12/22 10:46:31 1.4
@@ -33,4 +33,11 @@
{
return (ConnectionHandler)m_handlerClass.newInstance();
}
+
+ /**
+ * Release a previously created ConnectionHandler e.g. for spooling.
+ */
+ public void releaseConnectionHandler(ConnectionHandler connectionHandler)
+ {
+ }
}
1.8 +13 -8 jakarta-avalon-cornerstone/src/java/org/apache/avalon/cornerstone/blocks/connection/Connection.java
Index: Connection.java
===================================================================
RCS file: /home/cvs/jakarta-avalon-cornerstone/src/java/org/apache/avalon/cornerstone/blocks/connection/Connection.java,v
retrieving revision 1.7
retrieving revision 1.8
diff -u -r1.7 -r1.8
--- Connection.java 2001/12/11 10:49:19 1.7
+++ Connection.java 2001/12/22 10:46:31 1.8
@@ -59,7 +59,7 @@
m_thread = null;
thread.interrupt();
- //Can not join as threads are part of pool
+ //Can not join as threads are part of pool
//and will never finish
//m_thread.join();
@@ -93,7 +93,7 @@
final Socket socket = m_serverSocket.accept();
final ConnectionHandler handler = m_handlerFactory.createConnectionHandler();
final ConnectionRunner runner =
- new ConnectionRunner( socket, m_runners, handler );
+ new ConnectionRunner( socket, m_runners, handler, m_handlerFactory );
setupLogger( runner );
m_threadPool.execute( runner );
}
@@ -123,18 +123,21 @@
extends AbstractLogEnabled
implements Runnable, Component
{
- private Socket m_socket;
- private Thread m_thread;
- private List m_runners;
- private ConnectionHandler m_handler;
+ 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 ConnectionHandler handler,
+ final ConnectionHandlerFactory handlerFactory )
{
m_socket = socket;
m_runners = runners;
m_handler = handler;
+ m_handlerFactory = handlerFactory;
}
public void dispose()
@@ -144,12 +147,13 @@
{
m_thread.interrupt();
m_thread = null;
- //Can not join as threads are part of pool
+ //Can not join as threads are part of pool
//and will never finish
//m_thread.join();
synchronized( this ) { wait( /*1000*/ ); }
}
+ m_handlerFactory = null;
}
public void run()
@@ -162,6 +166,7 @@
getLogger().debug( "Starting connection on " + m_socket );
m_handler.handleConnection( m_socket );
getLogger().debug( "Ending connection on " + m_socket );
+ m_handlerFactory.releaseConnectionHandler(m_handler);
}
catch( final Exception e )
{
--
To unsubscribe, e-mail: <ma...@jakarta.apache.org>
For additional commands, e-mail: <ma...@jakarta.apache.org>