org.apache.james.smtpserver
Class SMTPServer

java.lang.Object
  extended by org.apache.avalon.framework.logger.AbstractLogEnabled
      extended by org.apache.avalon.cornerstone.services.connection.AbstractHandlerFactory
          extended by org.apache.james.socket.AbstractJamesService
              extended by org.apache.james.smtpserver.SMTPServer
All Implemented Interfaces:
org.apache.avalon.cornerstone.services.connection.ConnectionHandlerFactory, org.apache.avalon.excalibur.pool.ObjectFactory, org.apache.avalon.framework.activity.Disposable, org.apache.avalon.framework.activity.Initializable, org.apache.avalon.framework.configuration.Configurable, org.apache.avalon.framework.context.Contextualizable, org.apache.avalon.framework.logger.LogEnabled, org.apache.avalon.framework.service.Serviceable, SMTPServerMBean

public class SMTPServer
extends AbstractJamesService
implements SMTPServerMBean

Accepts SMTP connections on a server socket and dispatches them to SMTPHandlers.

Also responsible for loading and parsing SMTP specific configuration.

Version:
1.1.0, 06/02/2001

Field Summary
 
Fields inherited from class org.apache.james.socket.AbstractJamesService
backlog, BACKLOG_NAME, bindTo, connectionLimit, connectionName, DEFAULT_BACKLOG, DEFAULT_TIMEOUT, HELLO_NAME, helloName, port, serverSocket, serverSocketType, theHandlerPool, theWatchdogFactory, threadGroup, threadPool, timeout, TIMEOUT_NAME
 
Constructor Summary
SMTPServer()
           
 
Method Summary
 void configure(org.apache.avalon.framework.configuration.Configuration configuration)
           
protected  java.lang.Object getConfigurationData()
           
protected  int getDefaultPort()
          Get the default port for this server type.
 java.lang.String getServiceType()
          This method returns the type of service provided by this server.
 void initialize()
           
 ProtocolHandler newProtocolHandlerInstance()
           
 void service(org.apache.avalon.framework.service.ServiceManager manager)
           
 
Methods inherited from class org.apache.james.socket.AbstractJamesService
createConnectionHandler, decommission, dispose, getCreatedClass, getLocalHostName, getNetworkInterface, getPort, getSocketType, getWatchdogFactory, isDefaultTLSEnabled, isEnabled, newHandler, newInstance, releaseConnectionHandler, setConnectionManager, setStreamDumpDir
 
Methods inherited from class org.apache.avalon.cornerstone.services.connection.AbstractHandlerFactory
contextualize
 
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
 
Methods inherited from interface org.apache.james.smtpserver.SMTPServerMBean
getNetworkInterface, getPort, getSocketType, isEnabled
 

Constructor Detail

SMTPServer

public SMTPServer()
Method Detail

service

public void service(org.apache.avalon.framework.service.ServiceManager manager)
             throws org.apache.avalon.framework.service.ServiceException
Specified by:
service in interface org.apache.avalon.framework.service.Serviceable
Overrides:
service in class AbstractJamesService
Throws:
org.apache.avalon.framework.service.ServiceException
See Also:
Serviceable.service(ServiceManager)

configure

public void configure(org.apache.avalon.framework.configuration.Configuration configuration)
               throws org.apache.avalon.framework.configuration.ConfigurationException
Specified by:
configure in interface org.apache.avalon.framework.configuration.Configurable
Overrides:
configure in class AbstractJamesService
Throws:
org.apache.avalon.framework.configuration.ConfigurationException
See Also:
Configurable.configure(Configuration)

initialize

public void initialize()
                throws java.lang.Exception
Specified by:
initialize in interface org.apache.avalon.framework.activity.Initializable
Overrides:
initialize in class AbstractJamesService
Throws:
java.lang.Exception
See Also:
AbstractJamesService.initialize()

getDefaultPort

protected int getDefaultPort()
Description copied from class: AbstractJamesService
Get the default port for this server type. It is strongly recommended that subclasses of this class override this method to specify the default port for their specific server type.

Overrides:
getDefaultPort in class AbstractJamesService
Returns:
the default port
See Also:
AbstractJamesService.getDefaultPort()

getServiceType

public java.lang.String getServiceType()
Description copied from class: AbstractJamesService
This method returns the type of service provided by this server. This should be invariant over the life of the class. Subclasses may override this implementation. This implementation parses the complete class name and returns the undecorated class name.

Overrides:
getServiceType in class AbstractJamesService
Returns:
description of this server
See Also:
AbstractJamesService.getServiceType()

newProtocolHandlerInstance

public ProtocolHandler newProtocolHandlerInstance()
Specified by:
newProtocolHandlerInstance in class AbstractJamesService
See Also:
AbstractJamesService.newProtocolHandlerInstance()

getConfigurationData

protected java.lang.Object getConfigurationData()
Specified by:
getConfigurationData in class AbstractJamesService
See Also:
AbstractJamesService.getConfigurationData()


Copyright ? 2002-2009 The Apache Software Foundation. All Rights Reserved.