Closed
Description
The verification of whether an ELD
is currently running is implemented by calling ExecutorService.isShutdown()
which only indicates whether the service is currently shutting down, not whether it has fully shut down already. This causes the Lifecycle.stop()
invocations of components working with an ELD
(ThreadPoolTaskExecutor
, for example) not waiting for the service to fully stop before moving on to process other Lifecycle
implementations.
This might leave threads executing methods to work with resources that are prematurely shutdown by follow-up resources managed in downstream Lifecycle
implementations.