A question to the OpenJPA developers: regarding different types of byte code
enhancement and the disparity in functionality between them, does this reflect a
seperate code base for enhanced versus non-enhanced OpenJPA?
Tedman Leung on 07/05/08 22:01, wrote:
I eventually did compile time enhancement (as the agent was way too
problemmatic) and yeah all my problems went away. Thanks for the info.
On Wed, May 07, 2008 at 11:35:55AM -0700, Tedman Leung wrote:
Well according to the documentation "unenhanced" will become enhanced at
runtime via "Deploy-time enhancement", "Java 6 class retransformation",
"Java 5 class redefinition".
I think what I was getting from Michael's posting is that the automatic
enhancement #3 has issues so right now I'm trying to weigh option #1 and
option #2.
I originally thought option #2 would be simple but unfortunately it's not
as it requires all the jars to be in the initial classpath which means I'm
now messing with tomcat's original classpath and maintaining a classpath
outside of the automatically generated WEB-INF/lib/* ...
Just to clarify, I believe there are three possible enhancement scenarios:
1. build-time enhancement - running
org.apache.openjpa.enhance.PCEnhancer over your bytecode before you run
your app.
2. runtime enhancement - giving the "-javaagent=openjpa.jar" argument to
the JVM when you run your app.
3. unenhanced - neither 1 nor 2.
Have you observed this problem in all three scenarios? Just (2) or (3)?