org.apache.avalon.cornerstone.blocks.connection
Class AbstractConnectionManager

java.lang.Object
  extended byorg.apache.avalon.cornerstone.blocks.connection.AbstractConnectionManager
All Implemented Interfaces:
ConnectionManager
Direct Known Subclasses:
CDIConnectionManager, DefaultConnectionManager

public class AbstractConnectionManager
extends java.lang.Object
implements ConnectionManager

This is the service through which ConnectionManagement occurs.

Author:
Avalon Development Team

Field Summary
protected  ThreadManager m_threadManager
           
protected  ConnectionMonitor monitor
           
 
Fields inherited from interface org.apache.avalon.cornerstone.services.connection.ConnectionManager
ROLE
 
Constructor Summary
AbstractConnectionManager()
           
 
Method Summary
 void connect(java.lang.String name, java.net.ServerSocket socket, ConnectionHandlerFactory handlerFactory)
          Start managing a connection.
 void connect(java.lang.String name, java.net.ServerSocket socket, ConnectionHandlerFactory handlerFactory, ThreadPool threadPool)
          Start managing a connection.
 void disconnect(java.lang.String name)
          This shuts down all handlers and socket, waiting for each to gracefully shutdown.
 void disconnect(java.lang.String name, boolean tearDown)
          This shuts down all handlers and socket.
 void dispose()
           
 
Methods inherited from class java.lang.Object
clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
 

Field Detail

m_threadManager

protected ThreadManager m_threadManager

monitor

protected ConnectionMonitor monitor
Constructor Detail

AbstractConnectionManager

public AbstractConnectionManager()
Method Detail

connect

public void connect(java.lang.String name,
                    java.net.ServerSocket socket,
                    ConnectionHandlerFactory handlerFactory,
                    ThreadPool threadPool)
             throws java.lang.Exception
Start managing a connection. Management involves accepting connections and farming them out to threads from pool to be handled.

Specified by:
connect in interface ConnectionManager
Parameters:
name - the name of connection
socket - the ServerSocket from which to
handlerFactory - the factory from which to aquire handlers
threadPool - the thread pool to use
Throws:
java.lang.Exception - if an error occurs

connect

public void connect(java.lang.String name,
                    java.net.ServerSocket socket,
                    ConnectionHandlerFactory handlerFactory)
             throws java.lang.Exception
Start managing a connection. This is similar to other connect method except that it uses default thread pool.

Specified by:
connect in interface ConnectionManager
Parameters:
name - the name of connection
socket - the ServerSocket from which to
handlerFactory - the factory from which to aquire handlers
Throws:
java.lang.Exception - if an error occurs

disconnect

public void disconnect(java.lang.String name)
                throws java.lang.Exception
This shuts down all handlers and socket, waiting for each to gracefully shutdown.

Specified by:
disconnect in interface ConnectionManager
Parameters:
name - the name of connection
Throws:
java.lang.Exception - if an error occurs

disconnect

public void disconnect(java.lang.String name,
                       boolean tearDown)
                throws java.lang.Exception
This shuts down all handlers and socket. If tearDown is true then it will forcefully shutdown all connections and try to return as soon as possible. Otherwise it will behave the same as void disconnect( String name );

Specified by:
disconnect in interface ConnectionManager
Parameters:
name - the name of connection
tearDown - if true will forcefully tear down all handlers
Throws:
java.lang.Exception - if an error occurs

dispose

public void dispose()


Copyright © 1997-2005 The Apache Software Foundation. All Rights Reserved.