Author: norman Date: Tue Jun 20 22:48:38 2006 New Revision: 415919 URL: http://svn.apache.org/viewvc?rev=415919&view=rev Log: Make the smptHandlerChain Initializable and Contextualizable. See JAMES-547
Modified: james/server/trunk/src/java/org/apache/james/smtpserver/SMTPServer.java Modified: james/server/trunk/src/java/org/apache/james/smtpserver/SMTPServer.java URL: http://svn.apache.org/viewvc/james/server/trunk/src/java/org/apache/james/smtpserver/SMTPServer.java?rev=415919&r1=415918&r2=415919&view=diff ============================================================================== --- james/server/trunk/src/java/org/apache/james/smtpserver/SMTPServer.java (original) +++ james/server/trunk/src/java/org/apache/james/smtpserver/SMTPServer.java Tue Jun 20 22:48:38 2006 @@ -22,6 +22,9 @@ import org.apache.avalon.framework.configuration.Configuration; import org.apache.avalon.framework.configuration.ConfigurationException; import org.apache.avalon.framework.container.ContainerUtil; +import org.apache.avalon.framework.context.Context; +import org.apache.avalon.framework.context.ContextException; +import org.apache.avalon.framework.context.Contextualizable; import org.apache.avalon.framework.service.ServiceException; import org.apache.avalon.framework.service.ServiceManager; import org.apache.james.Constants; @@ -43,7 +46,7 @@ * IMPORTANT: SMTPServer extends AbstractJamesService. If you implement ANY * lifecycle methods, you MUST call super.<method> as well. */ -public class SMTPServer extends AbstractJamesService implements SMTPServerMBean { +public class SMTPServer extends AbstractJamesService implements SMTPServerMBean, Contextualizable { /** @@ -122,6 +125,7 @@ private ServiceManager serviceManager; + /** * @see org.apache.avalon.framework.service.Serviceable#service(ServiceManager) */ @@ -213,7 +217,7 @@ //set the logger ContainerUtil.enableLogging(handlerChain,getLogger()); - + try { ContainerUtil.service(handlerChain,serviceManager); } catch (ServiceException e) { @@ -230,6 +234,31 @@ mailetcontext.setAttribute(Constants.HELLO_NAME, "localhost"); } theHandlerFactory = new SMTPHandlerFactory(); + } + + /** + * @see org.apache.james.core.AbstractJamesService#initialize() + */ + public void initialize() throws Exception { + super.initialize(); + ContainerUtil.initialize(handlerChain); + } + + /** + * @see org.apache.avalon.cornerstone.services.connection.AbstractHandlerFactory#contextualize(org.apache.avalon.framework.context.Context) + */ + public void contextualize(final Context context) { + super.contextualize(context); + try { + ContainerUtil.contextualize(handlerChain, context); + } catch (ContextException e) { + + // This is just a hack.. the overridden contextualize method not + // support + // of throw an exception. But we need it + throw new IllegalStateException(e.getMessage()); + } + } /** --------------------------------------------------------------------- To unsubscribe, e-mail: [EMAIL PROTECTED] For additional commands, e-mail: [EMAIL PROTECTED]