Hi Ray, thanks for the update.
I'm actually one of the folk interested ;) Focusing on "single" startup with phase 1 checking the metadata and setting into kind of grace/wait period without the whole CDI container is great. I will take a deeper look on your branch today, and it looks promising. Thanks ! Regards JB On 20/11/2019 23:51, Raymond Auge wrote: > Hey All, > > Some folks have expressed interest in making the Aries CDI impl better, and > particularly to make it able to work with Apache OpenWebbeans. This has > been a TODO item if mine for a long time and so I'm trying to move forward > with it now that there is interest in that. > > Main thing so far is I've worked out how to eliminate the double startup of > the CDI container (OWB didn't like this, and it made it hard to adapt to a > different CDI container impl.) > > The idea was to have a 2 phase init where the first phase would provide the > static metadata about the OSGi dependencies, throw away that container > instance. If unsatisfied the CDI bundle would essentially be passively > waiting until things became satisfied or bundle stopped. Phase 2 would take > the CDI container up when said dependencies were satisfied. > > However, it turns out that doing phase 1 without the CDI container didn't > take as much effort as I thought. > > Here's the branch where this big refactoring is taking place > https://github.com/apache/aries-cdi/tree/rotty3000/eliminate-double-start > > Some goals I have for this effort are to: > - enable running with OWB > - retain the ability to run Weld > - implement a SPI for Aries CDI to swap out the CDI container impl > - make this all work through requirements and capabilities > - enrich the use cases to which this whole mess can be applied (currently > it's probably not very clear what some of the benefits are and how to > achieve them) > > Let me know if you have any thoughts on this. > -- Jean-Baptiste Onofré [email protected] http://blog.nanthrax.net Talend - http://www.talend.com
