Jeremy, Good to know I'm not going bat crap crazy. I've spent a decent amount of time trying to figure out the class loading problem. I'm currently using Tomcat 6x.
Seth Jeremy Bauer wrote: > > Seth, > > Thanks for reporting this problem. I've opened JIRA OPENJPA-1410[1]. The > code in PersistenceProviderImpl that sets up validation looks like it > might > be suspect to classloading issues. Which version of Tomcat are you using? > > -Jeremy > > [1] https://issues.apache.org/jira/browse/OPENJPA-1410 > > On Tue, Dec 1, 2009 at 5:56 AM, seth.jackson > <[email protected]>wrote: > >> >> After further review, using Glassfish 2.1.1 I received this error message >> in >> the server log: >> >> Caused by: java.lang.LinkageError: loader constraint violation: when >> resolving method >> >> "org.apache.openjpa.persistence.validation.ValidationUtils.setupValidation(Lorg/apache/openjpa/conf/OpenJPAConfiguration;)Z" >> the class loader (instance of >> org/apache/catalina/loader/WebappClassLoader) >> of the current class, >> org/apache/openjpa/persistence/PersistenceProviderImpl, and the class >> loader >> (instance of sun/misc/Launcher$AppClassLoader) for resolved class, >> org/apache/openjpa/persistence/validation/ValidationUtils, have different >> Class objects for the type org/apache/openjpa/conf/OpenJPAConfiguration >> used >> in the signature >> >> So it appears to be the WebappClassLoader and the AppClassLoader are both >> loading the OpenJPAConfiguration from the same JAR file, causing the >> error >> when the class is trying to be resolved in this particular method.. >> >> >> >> seth.jackson wrote: >> > >> > 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-tp4087312p4093228.html >> Sent from the OpenJPA Users mailing list archive at Nabble.com. >> > > -- View this message in context: http://n2.nabble.com/Struts-2x-OpenJPA-2-0-M3-Tomcat-or-Glassfish-tp4087312p4101439.html Sent from the OpenJPA Users mailing list archive at Nabble.com.
