On Mar 11, 2008, at 9:15 AM, Jarek Gawor wrote:

Does anybody have any thoughts on this? Both are important to the
concurrency work but 2) is a little more important as I can't
integrate the concurrency code with Geronimo without disabling some
other functionality.

Thanks,
Jarek

On Wed, Feb 20, 2008 at 4:12 PM, Jarek Gawor <[EMAIL PROTECTED]> wrote:
I have a couple of questions about module builders/deployers and
 plugin support in Geronimo:

1) I have a plugin that contains a NamingBuilder. Once I install this plugin, that NamingBuilder will not be called during module deployment
 until I 'register' it with the NamingBuilders gbean (e.g. in
plugins/j2ee/j2ee-deployer/src/main/plan/plan.xml or config.xml). The questions is, can we make this more dynamic? It would be great just to
 install the plugin and have the NamingBuilder to be invoked
 automatically without any additional configuration steps.

Right now you have to add it to the list of accepted names. I don't see an easy way around this at the moment.


 2) The AdminObjectRefBuilder is always trying to process _all_
resource-env-ref entries (AdminObjectRefBuilder is just an example in
 this case). However, as things evolve (Java EE 5 -> 6) and new
resource env. types are added, it does not scale to keep updating the
 AdminObjectRefBuilder to handle these new types. So I think it would
 be nice to install a new builder that would handle these new types
 only. But that would require communicating with the
AdminObjectRefBuilder and somehow telling it to ignore the new types.
 The question is, what would be the best way of doing it? Or maybe we
 need a different way of processing the DDs?

This is kind of a tricky problem and I don't know the best way to handle it. I doubt you want to get into rewriting the entire way we resolve resource-env-refs at this point -- let me know if you do -- so I would look into exactly what is keeping the current AdminObjectRefBuilder from handling your new kinds of refs and whether there is an easy way to exclude them.

Some possibilities....
- the AdminObjectRefBuilder.AdminObjectRefProcessor picks out the annotations we will look at. If the new stuff can only be referred to as @Resource you can have the AdminObjectRefProcessor skip the new kinds. - basically the AdminObjectRefBuilder works by finding a gbean that corresponds to the name information and type information supplied, around line 373. We could expand the choices for how we look for target gbeans. - we might be able to make the NamingBuilderCollection ordered and have the builders not try to deal with questionable items that have already been processed.

There are probably lots of other solutions I can't think of yet...

Hope this helps a bit
david jencks


 Jarek


Reply via email to