On Nov 2, 2006, at 12:15 PM, Aaron Mulder wrote:
Instead of leaving it up to GBeans to handle, do you think we should just put a hook into the Configuration where you can specify byte code transformers that it will apply to the Configuration ClassLoader? Now that the transformer API is there, I'm surmising that JPA may not be the only area where this specific issue may crop up.
I don't really see how this is attached to a particular classloader -- probably my limited understanding of what's going on. I'm using the instrumentation stuff to install the enhancers and have an agent with a TransformerCollection that the jpa enhancers get added to.
In particular I don't see how to add this directly to the configuration since we don't know what the enhancer is going to be until we create a PersistenceProvider and it registers it with the PersistenceUnitInfo.
If you want to peek at my code before I get it completely working let me know and I'll create a patch.
thanks david jencks
Thanks, Aaron On 11/2/06, David Jencks <[EMAIL PROTECTED]> wrote:I'm working on support for runtime class enhancement for jpa and have run into a gbean start order issue. The PersistenceProvider implementation class can install a byte code transformer that will enhance the classes used in the app for jpa PersistenceCapable. This needs to be done before any application classes are loaded. I think the gbean that starts the PersistenceProvider needs to be in the same configuration as the app, so I think it needs to be arranged that that gbean starts more or less first. Dain suggested that we could implement this by giving GBeanData a priority order and starting them consistent with the priority order. The dependencies will still override the priority order but this will provide easier hints about the desired start order. GBeanInfo can include a default priority order. We can eventually let you set the priority order in a gbean plan. I've opened GERONIMO-2541 to track this.
