Class ThreadSafeEventService seems to have the definition of daemon threads
The class javadocs say â€œCleanup is not run in a daemon thread, and thus will not
stop the JVM from exiting.â€�, but non-daemon threads DO prevent the JVM from exiting.
Also, in method startCleanup, the Timer is instantiated using the empty
constructor which results in the Timer using a non-daemon thread, thus the event
service DOES prevent the JVM from shutting down.