[ 
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

        

Reply via email to