Author: pcl
Date: Tue May 13 13:52:52 2008
New Revision: 656007
URL: http://svn.apache.org/viewvc?rev=656007&view=rev
Log:
OPENJPA-600. Porting to the 1.1.0 release branch.
Modified:
openjpa/branches/1.1.0/openjpa-kernel/src/main/java/org/apache/openjpa/enhance/PCClassFileTransformer.java
Modified: openjpa/branches/1.1.0/openjpa-kernel/src/main/java/org/apache/openjpa/enhance/PCClassFileTransformer.java
URL: http://svn.apache.org/viewvc/openjpa/branches/1.1.0/openjpa-kernel/src/main/java/org/apache/openjpa/enhance/PCClassFileTransformer.java?rev=656007&r1=656006&r2=656007&view=diff
==============================================================================
--- openjpa/branches/1.1.0/openjpa-kernel/src/main/java/org/apache/openjpa/enhance/PCClassFileTransformer.java
(original)
+++ openjpa/branches/1.1.0/openjpa-kernel/src/main/java/org/apache/openjpa/enhance/PCClassFileTransformer.java
Tue May 13 13:52:52 2008
@@ -116,6 +116,18 @@
return null;
_transforming = true;
+
+ return transform0(className, redef, bytes);
+ }
+
+ /**
+ * We have to split the transform method into two methods to avoid
+ * ClassCircularityError when executing method using pure-JIT JVMs
+ * such as JRockit.
+ */
+ private byte[] transform0(String className, Class redef, byte[] bytes)
+ throws IllegalClassFormatException {
+
try {
Boolean enhance = needsEnhance(className, redef, bytes);
if (enhance != null && _log.isTraceEnabled())
|