[
https://issues.apache.org/jira/browse/CAY-1882?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=13830740#comment-13830740
]
Andrus Adamchik commented on CAY-1882:
--------------------------------------
ClassRegistry approach appears too simplistic. I am not even sure how it works
under 3.2 :) E.g. I can't load XML mapping files as DataDomainProvider is not
using AdhocObjectFactory. My little OSGi test project [1] fails even before it
starts loading persistent entities [2]. So I opened a separate Jira CAY-1887 to
deal with Cayenne class loading in a more systematic fashion.
[1] https://github.com/andrus/cayenne-osgi-example
[2] Caused by: org.apache.cayenne.configuration.server.DataDomainLoadException:
[v.3.2.M2-SNAPSHOT Nov 20 2013 21:46:26] Configuration resource
"cayenne-osgi-example.xml" is not found.
at
org.apache.cayenne.configuration.server.DataDomainProvider.createAndInitDataDomain(DataDomainProvider.java:144)
at
org.apache.cayenne.configuration.server.DataDomainProvider.get(DataDomainProvider.java:107)
at
org.apache.cayenne.configuration.server.DataDomainProvider.get(DataDomainProvider.java:60)
at
org.apache.cayenne.di.spi.CustomProvidersProvider.get(CustomProvidersProvider.java:38)
at
org.apache.cayenne.di.spi.FieldInjectingProvider.get(FieldInjectingProvider.java:42)
at
org.apache.cayenne.di.spi.DefaultScopeProvider.get(DefaultScopeProvider.java:49)
at
org.apache.cayenne.di.spi.DefaultInjector.getInstance(DefaultInjector.java:107)
at
org.apache.cayenne.di.spi.FieldInjectingProvider.injectMember(FieldInjectingProvider.java:93)
at
org.apache.cayenne.di.spi.FieldInjectingProvider.injectMembers(FieldInjectingProvider.java:58)
at
org.apache.cayenne.di.spi.FieldInjectingProvider.get(FieldInjectingProvider.java:43)
at
org.apache.cayenne.di.spi.DefaultScopeProvider.get(DefaultScopeProvider.java:49)
at
org.apache.cayenne.di.spi.DefaultInjector.getInstance(DefaultInjector.java:103)
at
org.apache.cayenne.configuration.CayenneRuntime.newContext(CayenneRuntime.java:175)
at
org.apache.cayenne.osgi.example.Activator.testStartup(Activator.java:48)
at org.apache.cayenne.osgi.example.Activator.start(Activator.java:38)
at
org.apache.felix.framework.util.SecureAction.startActivator(SecureAction.java:645)
> Porting to OSGi environment
> ---------------------------
>
> Key: CAY-1882
> URL: https://issues.apache.org/jira/browse/CAY-1882
> Project: Cayenne
> Issue Type: Improvement
> Components: Core Library
> Affects Versions: 3.1B1, 3.1B2, 3.2M1
> Environment: OSGi
> Reporter: Cristiano Ghersi
> Labels: class_loader, osgi
> Fix For: 3.2M2
>
> Attachments: ClassRegistry.java, DefaultAdhocObjectFactory.java
>
>
> Cayenne framework doesn't run under OSGi environments as class-loading
> problems arise in the dynamic loading of autogenerated classes by Cayenne
> Modeler.
--
This message was sent by Atlassian JIRA
(v6.1#6144)