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

Reply via email to