This is really for David Jencks since I think he is the only one that
understands this code....
In the createModule phase of deployment, the code must build the
Geronimo environment object so we can create a class loader. Most of
the data for this object comes from the geronimo-*.xml deployment
plan, but the naming builders can add additional dependencies to the
environment. Basically, the naming builders inspect the specDD and
vendorDD to see if either is using a naming ref that the builder
handles, and if so the builder adds the dependencies the application
will need to use that reference object.
The problem is in JEE5 reference objects are defined in class
annotations, and to read these annotations you need a class loader,
and to get a class loader you need an environment object, and to get
the environment object you need to process the references in the
annotations. As you can see we have a chicken and egg problem.
I suggest that in the short time (while Jencks figures out how to
modify the builders for Jee5), we hard code the naming builders to
always add their dependencies.
What do you think?
-dain
- NamingBuilder.buildEnvironment(...) broken Dain Sundstrom
-