Hi, Apparently, there is only a single queueHandler
thread which handles the events. I must be missing something.
The thread is started at the end of the AssemblyManager.start method, which first gathers existing bundles to jump start the Assembly Manager with simulated events for them. The AssemblyManager.start method itself is called from AssemblyActivator (the BundleActivator) start method... My question is how does the installer handle direct and
indirect dependencies if those dependencies are also required to be updated?
Ok. This depends. If the dependencies are included with the assembly, there lifecycle is controlled through the Assembly Bundle. If the dependencies are not included in the assembly, and an OBR is used to install the bundles, the dependencies will be resolved by the OBR and just started by the AssemblyManager (these are the requiredResources of the Resolver). They are not further managed by the AssemblyManager, they are just there. If the dependencies not managed by the AssemblyManage happen to require an update due to updated requirements of managed bundles, these updates may take place as a "side effect" of OBR bundle resolution. So for complete management, it might be a good idea to include all dependencies as far as possible in the Assembly. Again: This is a management task based on a management decision outside of the framework and not a technically required task ! Regards Felix