if ( lifecycleHandlerManager == null )
{
lifecycleHandlerManager = new DefaultLifecycleHandlerManager();
// Plexus
LifecycleHandler plexus = new BasicLifecycleHandler( "plexus" );
// Begin
plexus.addBeginSegment( new LogEnablePhase() );
plexus.addBeginSegment( new ContextualizePhase() );
// plexus.addBeginSegment( new AutoConfigurePhase() );
plexus.addBeginSegment( new InitializePhase() );
plexus.addBeginSegment( new StartPhase() );
// End
plexus.addEndSegment( new StopPhase() );
plexus.addEndSegment( new DisposePhase() );
plexus.addEndSegment( new LogDisablePhase() );
lifecycleHandlerManager.addLifecycleHandler( plexus );
// Basic
LifecycleHandler basic = new BasicLifecycleHandler( "basic" );
// Begin
basic.addBeginSegment( new LogEnablePhase() );
basic.addBeginSegment( new ContextualizePhase() );
// basic.addBeginSegment( new AutoConfigurePhase() );
basic.addBeginSegment( new InitializePhase() );
basic.addBeginSegment( new StartPhase() );
// End
basic.addEndSegment( new StopPhase() );
basic.addEndSegment( new DisposePhase() );
basic.addEndSegment( new LogDisablePhase() );
lifecycleHandlerManager.addLifecycleHandler( basic );
// Plexus configurable
LifecycleHandler plexusConfigurable = new BasicLifecycleHandler( "plexus-configurable" );
// Begin
plexusConfigurable.addBeginSegment( new LogEnablePhase() );
plexusConfigurable.addBeginSegment( new ContextualizePhase() );
plexusConfigurable.addBeginSegment( new ConfigurablePhase() );
plexusConfigurable.addBeginSegment( new InitializePhase() );
plexusConfigurable.addBeginSegment( new StartPhase() );
// End
plexusConfigurable.addEndSegment( new StopPhase() );
plexusConfigurable.addEndSegment( new DisposePhase() );
plexusConfigurable.addEndSegment( new LogDisablePhase() );
lifecycleHandlerManager.addLifecycleHandler( plexusConfigurable );
// Passive
LifecycleHandler passive = new BasicLifecycleHandler( "passive" );
lifecycleHandlerManager.addLifecycleHandler( passive );
// Bootstrap
LifecycleHandler bootstrap = new BasicLifecycleHandler( "bootstrap" );
bootstrap.addBeginSegment( new ContextualizePhase() );
lifecycleHandlerManager.addLifecycleHandler( bootstrap );
}
return lifecycleHandlerManager;
}