It appears something was modified in OpenJPA 2.0 M3 from M2 that causes a
LinkageError.
In my current environment, I've tested both Glassfish and Tomcat using M2
and M3. M2 runs without problems, but M3 throws a linkage error as follows:
Caused by: java.lang.LinkageError: loader constraint violation: loader
(instance of sun/misc/Launcher$AppClassLoader) previously initiated loading
for a different type with name
"org/apache/openjpa/conf/OpenJPAConfiguration"
at java.lang.ClassLoader.defineClass1(Native Method)
at java.lang.ClassLoader.defineClass(ClassLoader.java:621)
at
java.security.SecureClassLoader.defineClass(SecureClassLoader.java:124)
at java.net.URLClassLoader.defineClass(URLClassLoader.java:260)
at java.net.URLClassLoader.access$000(URLClassLoader.java:56)
at java.net.URLClassLoader$1.run(URLClassLoader.java:195)
at java.security.AccessController.doPrivileged(Native Method)
at java.net.URLClassLoader.findClass(URLClassLoader.java:188)
at java.lang.ClassLoader.loadClass(ClassLoader.java:307)
at sun.misc.Launcher$AppClassLoader.loadClass(Launcher.java:301)
at java.lang.ClassLoader.loadClass(ClassLoader.java:252)
at java.lang.ClassLoader.loadClassInternal(ClassLoader.java:320)
at
org.apache.openjpa.persistence.validation.ValidationUtils.setupValidation(ValidationUtils.java:53)
at
org.apache.openjpa.persistence.PersistenceProviderImpl.loadValidator(PersistenceProviderImpl.java:290)
at
org.apache.openjpa.persistence.PersistenceProviderImpl.createEntityManagerFactory(PersistenceProviderImpl.java:97)
at
org.apache.openjpa.persistence.OpenJPAPersistence.createEntityManagerFactory(OpenJPAPersistence.java:128)
at
org.apache.openjpa.persistence.OpenJPAPersistence.createEntityManagerFactory(OpenJPAPersistence.java:111)
at test_test.user.UserAction.execute(UserAction.java:39)
I've already confirmed that the OpenJPA classes in question do NOT exist in
any other JARs in the path.
ValidationUtils.setupValidation(ValidationUtils.java:53) calls the
OpenJPAConfiguration.getConfigurationLog(). The object being referenced is
JDBCConfigurationImpl, which in other classes retrieves the log reference
perfectly fine, before it gets to the offending line.
--
View this message in context:
http://n2.nabble.com/Struts-2x-OpenJPA-2-0-M3-Tomcat-or-Glassfish-tp4087312p4087312.html
Sent from the OpenJPA Users mailing list archive at Nabble.com.