The RenewableTlsUtils starts two thread - reloadSslFactoryWhenFileStoreChanges and reloadSslFactory - both of which are not marked as daemon threads. This prevents on-demand java processes from from exiting. This is a bug IMHO and must be fixed by marking the threads as daemon or providing some mechanism to close the threads.