fb-contrib plugin
This plugin contains FindBugs detectors from the fb-contrib project

Single detector for hanging ExecutorServices, that is, ExecutorServices that never get a call to shutdown, which can potentially cause the JVM to not exit.

It is a fast detector

Method passes simple concatenating string in StringBuffer or StringBuilder append ExecutorService field doesn't ever get shutdown ExecutorService {1} is instantiated, but never shutdown, potentially preventing the entire JVM from shutting down
Most ExecutorService objects must be explicitly shutdown, otherwise, their internal threads can prolong the running of the JVM, even when everything else has stopped.

FindBugs has detected that there are no calls to either the shutdown() or shutdownNow() method, and thus, the ExecutorService is not guaranteed to ever terminate. This is especially problematic for Executors.newFixedThreadPool() and most of the other convenience methods in the Executors class.

Even though there are some exceptions to this, particularly when a custom ThreadFactory is provided, or for ThreadPoolExecutors with allowsCoreThreadTimeOut() set to true, it is good practice to explictly shutdown the ExecutorService when its utility is done.

Inefficient String Buffering Modifying Unmodifiable Collection Unjitable method Hanging ExecutorService