In Apache Camel we have a centralized API for thread pools. This allows us to track this in Camel, and ensure thread pools is enlisted in JMX, and also unregistered again. As well having logs when thread pools is created / shutdown etc. Also better logic for shutdown graceful and then fallback to be aggressive etc. And to add a thread factory, that offers a naming pattern style, so end users can customize thread naming etc.
In activemq-core, there is pieces of logic for that. We should tidy this up, and especially ensure shutdown is happening consistent and more graceful, etc.
This can help make it possible to do as Camel to also enlist thread pools in JMX.