Some Eclipse Foundation services are deprecated, or will be soon. Please ensure you've read this important communication.

Bug 331693

Summary: Migrate Virgo kernel to DS
Product: [RT] Virgo Reporter: Borislav Kapukaranov <b.kapukaranov>
Component: unknownAssignee: Project Inbox <virgo-inbox>
Status: NEW --- QA Contact:
Severity: enhancement    
Priority: P3 CC: glyn.normington
Version: unspecified   
Target Milestone: ---   
Hardware: PC   
OS: All   
See Also: https://bugs.eclipse.org/bugs/show_bug.cgi?id=333474
Whiteboard:
Bug Depends on: 389712, 396771, 333643    
Bug Blocks:    

Description Borislav Kapukaranov CLA 2010-12-02 11:44:24 EST
Build Identifier: 

The proposal is to use declarative services in Virgo's kernel.

Reproducible: Always
Comment 1 Glyn Normington CLA 2010-12-02 11:49:50 EST
We discussed this change at the Virgo F2F and it seems like a good direction to go in. However, we need to reproduce some of the support that Virgo has for Spring DM.

Firstly, we need the ability to wait for a bundle to be fully started, meaning it has been activated and its component has been built successfully. We also need to be able to obtain the reason for failure in the failure case.

Secondly, we need to track bundles which are waiting for their service dependencies to be satisfied and issue warnings to the console when this wait exceeds a certain period.
Comment 2 Glyn Normington CLA 2010-12-03 04:59:22 EST
Another consideration is thread safety. DS does not use constructor injection so it will be necessary to use synchronization (via an internal "monitor" object as usual for Virgo) to ensure thread safety.
Comment 3 Borislav Kapukaranov CLA 2011-01-17 09:54:11 EST
As part of this enhancement a bug that removes kernel's startup order was raised:
https://bugs.eclipse.org/bugs/show_bug.cgi?id=333474
Comment 4 Borislav Kapukaranov CLA 2012-01-12 09:32:15 EST
Commit 5ef9751 migrates Nano to DS and stops packaging SpringDM and its Spring framework dependencies in Nano, resulting in a reduced size.

This can't be applied to higher distributions yet as they still rely on SpringDM usage in their kernel regions.
Still it is OK as a first step.