private void finishStarting ( ) throws RuntimeWarning { boolean isTraceOn = TraceComponent . isAnyTracingEnabled ( ) ; if ( isTraceOn && tc . isEntryEnabled ( ) ) Tr . entry ( tc , "finishStarting: " + ivName ) ; // NOTE - Any state that is cleared here should also be cleared in // stoppingModule. if ( ivModules != null ) { // F743-26072 notifyApplicationEventListeners ( ivModules , true ) ; } // Signal that the application is "fully started". unblockThreadsWaitingForStart ( ) ; // F743-15941 synchronized ( this ) { // F743-506 - Now that the application is fully started, start the // queued non-persistent timers. if ( ivQueuedNonPersistentTimers != null ) { startQueuedNonPersistentTimerAlarms ( ) ; ivQueuedNonPersistentTimers = null ; } } if ( isTraceOn && tc . isEntryEnabled ( ) ) Tr . exit ( tc , "finishStarting" ) ; }
Notification that the application is about to finish starting . Performs processing of singletons after all modules have been started but before the application has finished starting . Module references are resolved and startup singletons are started .