Hi all, In a comment to issue FELIX-314 ( https://issues.apache.org/jira/browse/FELIX-314), Karl notes that we should try to minimize the framework created threads to help in resource critical environments. Looking at the threads started, I know of the following:
+ PackageAdmin - One thread per framework (Felix) instance + EventDispatcher - One thread per class loader hierarchy, shared by potentially multiple framework instances + StartLevel - One thread per framework instances + SystemBundle - One thread created to asynchronously stop the framework + Config Admin - One thread per framework instance (to dispatch configuration) + Declarative Services - One thread per framework instance (to enable/disable components) + EventAdmin - Thread Pool of configurable size per framework instance I wonder, whether it would be worth it to have a general "task dispatching" facility, which would manage the threads. Or have the threads to be separate such that for example asynchronous EventDispatcher events are not postponed until an eventual StartLevel change has finished ? This is just a quick idea off the top of my head and I only have a very vague idea of how to implement it... Regards Felix
