protected void deactivate ( ComponentContext context ) { if ( TraceComponent . isAnyTracingEnabled ( ) && LoggingUtil . SESSION_LOGGER_CORE . isLoggable ( Level . FINER ) ) { LoggingUtil . SESSION_LOGGER_CORE . entering ( CLASS_NAME , "deactivate" , context ) ; } this . unregisterSessionManager ( ) ; // we won't restart applications in this case, so assume someone else stops them if ( TraceComponent . isAnyTracingEnabled ( ) && LoggingUtil . SESSION_LOGGER_CORE . isLoggable ( Level . FINER ) ) { LoggingUtil . SESSION_LOGGER_CORE . exiting ( CLASS_NAME , "deactivate" ) ; } }
Since this service is immediate and dynamic it will not be deactivated unless the Servlet feature is removed . When this happens we assume that an external feature stops applications appropariately . The deactivate should NOT stop applications via the appRecycleService because it will NOT be able to issue a corresponding start operation on the appRecycleService .