See GERONIMO-2541
In order for runtime class enhancement for jpa to have any chance of
working, the persistence provider has to get started before much of
anything else happens so it can install the bytecode transformer
before any classes that need enhancement get loaded.
To support this I wrote a priority order loading feature for gbeans,
see GERONIMO-2541. This is pretty simple and appears to work fine
except it will prevent any pre-1.2 configurations from running on 1.2
servers: I have to write the priority for each gbeandata in the
serialized gbeanstate. I don't know how to fix this: if anyone else
does please speak up.
Runtime enhancement seems to work ok with this feature for simple
apps that use ejbs and web apps but there are some situations in
which I cannot get runtime enhancement to work because the classes
are loaded when some gbeans are loaded before any gbeans are
started. So far this has occurred with web services that use an
enhanced class as a paramenter: I think that the axis 1 mapping info
includes seriailzed class instances rather than the names of the
classes involved.
So, is runtime enhancement for some jpa apps worth breaking backwards
compatibility for configs? Can we do something to recognize both old
and new config formats? If I don't hear anything against this in a
few days (about 3) I'm going to go ahead and break backwards
compatibility and commit this patch..... you are warned.
thanks
david jencks
- RTC PLEASE COMMENT Priority order for starting gbeans. David Jencks
-