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

java.lang.Object
  extended byorg.apache.avalon.framework.logger.AbstractLogEnabled
      extended byorg.apache.avalon.cornerstone.blocks.connection.DefaultConnectionManager
All Implemented Interfaces:
ConnectionManager, Disposable, LogEnabled, Serviceable

public class DefaultConnectionManager
extends AbstractLogEnabled
implements ConnectionManager, Serviceable, Disposable

This is the service through which ConnectionManagement occurs.

Author:
Avalon Development Team
Component:
name="connection-manager" lifestyle="singleton"
Service Export:
type="org.apache.avalon.cornerstone.services.connection.ConnectionManager"

Field Summary
 
Fields inherited from interface org.apache.avalon.cornerstone.services.connection.ConnectionManager
ROLE
 
Constructor Summary
DefaultConnectionManager()
           
 
Method Summary
 void connect(String name, ServerSocket socket, ConnectionHandlerFactory handlerFactory)
          Start managing a connection.
 void connect(String name, ServerSocket socket, ConnectionHandlerFactory handlerFactory, org.apache.excalibur.thread.ThreadPool threadPool)
          Start managing a connection.
 void disconnect(String name)
          This shuts down all handlers and socket, waiting for each to gracefully shutdown.
 void disconnect(String name, boolean tearDown)
          This shuts down all handlers and socket.
 void dispose()
           
 void service(ServiceManager serviceManager)
           
 
Methods inherited from class org.apache.avalon.framework.logger.AbstractLogEnabled
enableLogging, getLogger, setupLogger, setupLogger, setupLogger
 
Methods inherited from class java.lang.Object
clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
 

Constructor Detail

DefaultConnectionManager

public DefaultConnectionManager()
Method Detail

service

public void service(ServiceManager serviceManager)
             throws ServiceException
Specified by:
service in interface Serviceable
Throws:
ServiceException
Service Dependency:
type="org.apache.avalon.cornerstone.services.threads.ThreadManager"

dispose

public void dispose()
Specified by:
dispose in interface Disposable

connect

public void connect(String name,
                    ServerSocket socket,
                    ConnectionHandlerFactory handlerFactory,
                    org.apache.excalibur.thread.ThreadPool threadPool)
             throws 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:
Exception - if an error occurs

connect

public void connect(String name,
                    ServerSocket socket,
                    ConnectionHandlerFactory handlerFactory)
             throws 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:
Exception - if an error occurs

disconnect

public void disconnect(String name)
                throws 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:
Exception - if an error occurs

disconnect

public void disconnect(String name,
                       boolean tearDown)
                throws 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:
Exception - if an error occurs


Copyright © Apache Software Foundation. All Rights Reserved.