Currently org.apache.activemq.util.osgi.Activator watches all other bundles and tries to load some classes using their classloader to check if they might implement extensions.
This can go wrong if the bundle uses dynamic imports like e.g. jline does. In this case the jline bundle is triggered to load classes from ActiveMQ. This establishes a wiring from jline to ActiveMQ. If the ActiveMQ bundle are now refreshed or uninstalled jline also has to be refreshed which triggers refreshs of a lot more bundles.
I propose to replace the class probing with checking of the bundle requirements. We simply check if the bundle has an import for the packages of the interface classes of ActiveMQ. So we avoid triggering classloading and the creation of unwanted wirings.