On Mar 1, 2006, at 10:06 AM, Dain Sundstrom wrote:
On Mar 1, 2006, at 7:27 AM, David Jencks wrote:
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.
Big +1 from me
Should clarify... that was a big +1 to David Jencks. These changes
will make configid/1.1 almost impossible to merge. Also, with the
configid changes, we are simplifying (i.e., changing) the way
references work, and my guess is you will no longer want to make the
proposed change.
-dain