private void updateSecurityReadyState ( ) { if ( ! activated ) { return ; } String unavailableServices = getUnavailableServices ( ) ; if ( unavailableServices == null ) { Tr . info ( tc , "SECURITY_SERVICE_READY" ) ; securityReady = true ; Dictionary < String , Object > props = new Hashtable < String , Object > ( ) ; props . put ( "service.vendor" , "IBM" ) ; reg = cc . getBundleContext ( ) . registerService ( SecurityReadyService . class , this , props ) ; } else { if ( TraceComponent . isAnyTracingEnabled ( ) && tc . isEventEnabled ( ) ) { Tr . event ( tc , "The following required security services are not available: " + unavailableServices ) ; } securityReady = false ; if ( reg != null ) { reg . unregister ( ) ; reg = null ; } } }
Security is ready when all of these required services have been registered .