aries-dev mailing list archives

Site index · List index
Message view « Date » · « Thread »
Top « Date » · « Thread »
From "Valentin Mahrwald (JIRA)" <j...@apache.org>
Subject [jira] [Commented] (ARIES-681) JPA Container BundleDelegatingClassLoader should look for classes in the provider bundle, too
Date Mon, 04 Jul 2011 16:04:21 GMT

    [ https://issues.apache.org/jira/browse/ARIES-681?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=13059494#comment-13059494
] 

Valentin Mahrwald commented on ARIES-681:
-----------------------------------------

Under ARIES-691 I have checked in some tests and integration code to make EclipseLink work
the whole way (including using managed contexts). There is some more cleanup to be done under
that JIRA to move more of the integration into the adapter bundle. 

The code prereqs the latest (as yet unreleased) JPA code but my help in your scenario :)

> 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

        

Mime
View raw message