[ https://issues.apache.org/jira/browse/ARIES-681?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel ]
Balazs Zsoldos resolved ARIES-681. ---------------------------------- Resolution: Duplicate As there is a final solution in ARIES-691 this issue will be solved as well. > JPA Container BundleDelegatingClassLoader should look for classes in the > provider bundle, too > --------------------------------------------------------------------------------------------- > > Key: ARIES-681 > URL: https://issues.apache.org/jira/browse/ARIES-681 > Project: Aries > Issue Type: Bug > Components: JPA > Affects Versions: 0.3 > Environment: Glassfish 3.0 (EclipseLink 2.0.2), Glassfish 3.1 > (EclipseLink 2.2) > Reporter: Balazs Zsoldos > Attachments: classloadingFromMultipleProviderDuringQuery.0.3.patch > > > Currently the BundleDelegatingClassLoader in JPA container only looks for > classes in the bundle of the entitymanager. However the JPA implementation > Eclipselink needs some classes from itself. The reason is that in entity > classes the properties that hold mapping of One-To-Many are converted to > EclipseLink list type. See the following exception stacktrace: > Internal Exception: java.lang.ClassNotFoundException: > org.eclipse.persistence.indirection.IndirectList > at > org.eclipse.persistence.exceptions.ValidationException.classNotFoundWhileConvertingClassNames(ValidationException.java:2317) > at > org.eclipse.persistence.internal.queries.InterfaceContainerPolicy.convertClassNamesToClasses(InterfaceContainerPolicy.java:123) > at > org.eclipse.persistence.mappings.CollectionMapping.convertClassNamesToClasses(CollectionMapping.java:788) > at > org.eclipse.persistence.descriptors.ClassDescriptor.convertClassNamesToClasses(ClassDescriptor.java:1458) > at > org.eclipse.persistence.sessions.Project.convertClassNamesToClasses(Project.java:362) > at > org.eclipse.persistence.internal.jpa.EntityManagerSetupImpl.deploy(EntityManagerSetupImpl.java:322) > ... 83 more > Caused by: java.lang.ClassNotFoundException: > org.eclipse.persistence.indirection.IndirectList > at > org.apache.felix.framework.ModuleImpl.findClassOrResourceByDelegation(ModuleImpl.java:744) > at org.apache.felix.framework.ModuleImpl.access$100(ModuleImpl.java:61) > at > org.apache.felix.framework.ModuleImpl$ModuleClassLoader.loadClass(ModuleImpl.java:1656) > at java.lang.ClassLoader.loadClass(ClassLoader.java:247) > at > org.apache.felix.framework.ModuleImpl.getClassByDelegation(ModuleImpl.java:604) > at org.apache.felix.framework.Felix.loadBundleClass(Felix.java:1487) > at org.apache.felix.framework.BundleImpl.loadClass(BundleImpl.java:897) > at > org.apache.aries.jpa.container.unit.impl.BundleDelegatingClassLoader$1.run(BundleDelegatingClassLoader.java:50) > at > org.apache.aries.jpa.container.unit.impl.BundleDelegatingClassLoader$1.run(BundleDelegatingClassLoader.java:47) > at java.security.AccessController.doPrivileged(Native Method) > at > org.apache.aries.jpa.container.unit.impl.BundleDelegatingClassLoader.findClass(BundleDelegatingClassLoader.java:47) > at java.lang.ClassLoader.loadClass(ClassLoader.java:306) > at java.lang.ClassLoader.loadClass(ClassLoader.java:247) > at java.lang.Class.forName0(Native Method) > at java.lang.Class.forName(Class.java:247) > at > org.eclipse.persistence.internal.security.PrivilegedAccessHelper.getClassForName(PrivilegedAccessHelper.java:88) > at > org.eclipse.persistence.internal.queries.InterfaceContainerPolicy.convertClassNamesToClasses(InterfaceContainerPolicy.java:120) > ... 87 more -- This message is automatically generated by JIRA. For more information on JIRA, see: http://www.atlassian.com/software/jira