On Mar 1, 2006, at 3:56 AM, Gianny Damour wrote:
Hi,
I think that we need to split ModuleBuilder.addGBeans into two
methods: addGBeans and initENC. addGBeans implementations perform
GBean registrations as per the current approach. initENC is invoked
after the addGBeans phase and implementations use this callback to
build the ENC.
The issue with the current implementation is that it is impossible
to bind a GBean reference to the ENC if the referenced GBean is
defined by a module which has not yet been processed by addGBeans.
For instance, if a module A references a GBean added by a module B
and if module A is processed before module B, then it is impossible
to locate the referenced GBean as it has not yet been added to the
registry.
If there is no objection, I will start to work on it in the next
couple of days.
I would rather see us reduce the number of module builder phases than
increase them :-) So far we have dealt with this problem by
registering a gbean data for anything that could possibly be
referenced in the ENC during the initContext phase. I'm also worried
that changes of this nature could make merging the configid/1.1
changes into trunk almost impossible.
What feature are you implementing that needs this that doesn't work
with the current approach? Could you wait with this until the
configid work is merged to trunk?
thanks
david jencks
Thanks,
Gianny