You are viewing a plain text version of this content. The canonical link for it is here.
Posted to user@karaf.apache.org by lbu <lb...@gmail.com> on 2013/03/01 08:50:40 UTC

Re: Karaf JPA and EclipseLink

Hi Filippo,
as today the bundle that contains the JPA stuffs does require
"DynamicImport-Package: *" to find EclipseLink's weaving packages, I'll try
to fix it as soon as I have a little time.



--
View this message in context: http://karaf.922171.n3.nabble.com/Karaf-JPA-and-EclipseLink-tp4027571p4027977.html
Sent from the Karaf - User mailing list archive at Nabble.com.

Re: Karaf JPA and EclipseLink

Posted by "gomul.mind" <ju...@gmail.com>.
Hi,
I don't know whether you fix the dynamic-import issue already, but there is
a way to tell OSGi that your bundle eclipselink-jpa dependent on the
eclipse.persistence.core bundle (or plugin) see syntax below for the
MANIFEST file 

Meta-Persistence: META-INF/persistence.xml
Require-Bundle: org.eclipse.persistence.core;bundle-version="2.4.2"

Another way to fix it is to specify the different packages used during
runtime by eclipse link:

org.eclipse.persistence.internal.codegen, \
org.eclipse.persistence.internal.databaseaccess, \
org.eclipse.persistence.internal.descriptors, \
org.eclipse.persistence.internal.descriptors.changetracking, \
org.eclipse.persistence.internal.dynamic, \
org.eclipse.persistence.internal.expressions, \
org.eclipse.persistence.internal.helper, \
org.eclipse.persistence.internal.history, \
org.eclipse.persistence.internal.identitymaps, \
org.eclipse.persistence.internal.indirection, \
org.eclipse.persistence.internal.jpa, \
org.eclipse.persistence.internal.jpa.jpql, \
org.eclipse.persistence.internal.jpa.parsing, \
org.eclipse.persistence.internal.jpa.parsing.jpql, \
org.eclipse.persistence.internal.jpa.parsing.jpql.antlr, \
org.eclipse.persistence.internal.jpa.rs.metadata.model, \
org.eclipse.persistence.internal.localization, \
org.eclipse.persistence.internal.localization.i18n, \
org.eclipse.persistence.internal.oxm, \
org.eclipse.persistence.internal.oxm.accessor, \
org.eclipse.persistence.internal.oxm.conversion, \
org.eclipse.persistence.internal.oxm.documentpreservation, \
org.eclipse.persistence.internal.oxm.record, \

org.eclipse.persistence.internal.oxm.record.deferred, \

org.eclipse.persistence.internal.oxm.record.json, \

org.eclipse.persistence.internal.oxm.record.namespaces, \

org.eclipse.persistence.internal.oxm.schema, \

org.eclipse.persistence.internal.oxm.schema.model, \

org.eclipse.persistence.internal.platform.database, \

org.eclipse.persistence.internal.queries, \

org.eclipse.persistence.internal.security, \

org.eclipse.persistence.internal.sequencing, \

org.eclipse.persistence.internal.sessions, \

org.eclipse.persistence.internal.sessions.coordination, \

org.eclipse.persistence.internal.sessions.coordination.broadcast, \

org.eclipse.persistence.internal.sessions.coordination.corba, \

org.eclipse.persistence.internal.sessions.coordination.corba.sun, \

org.eclipse.persistence.internal.sessions.coordination.jms, \

org.eclipse.persistence.internal.sessions.coordination.rmi, \

org.eclipse.persistence.internal.sessions.coordination.rmi.iiop, \

org.eclipse.persistence.internal.sessions.factories, \

org.eclipse.persistence.internal.sessions.factories.model, \

org.eclipse.persistence.internal.sessions.factories.model.event, \

org.eclipse.persistence.internal.sessions.factories.model.log, \

org.eclipse.persistence.internal.sessions.factories.model.login, \

org.eclipse.persistence.internal.sessions.factories.model.platform, \

org.eclipse.persistence.internal.sessions.factories.model.pool, \

org.eclipse.persistence.internal.sessions.factories.model.project, \

org.eclipse.persistence.internal.sessions.factories.model.property, \

org.eclipse.persistence.internal.sessions.factories.model.rcm, \

org.eclipse.persistence.internal.sessions.factories.model.rcm.command, \

org.eclipse.persistence.internal.sessions.factories.model.sequencing, \

org.eclipse.persistence.internal.sessions.factories.model.session, \

org.eclipse.persistence.internal.sessions.factories.model.transport, \

org.eclipse.persistence.internal.sessions.factories.model.transport.discovery,
\

org.eclipse.persistence.internal.sessions.factories.model.transport.naming,
\

org.eclipse.persistence.internal.sessions.remote, \

org.eclipse.persistence.internal.weaving, \

org.eclipse.persistence.annotations, \

org.eclipse.persistence.config, \

org.eclipse.persistence.descriptors, \

org.eclipse.persistence.descriptors.changetracking, \

org.eclipse.persistence.descriptors.copying, \

org.eclipse.persistence.descriptors.invalidation, \

org.eclipse.persistence.descriptors.partitioning, \

org.eclipse.persistence.dynamic, \

org.eclipse.persistence.eis, \

org.eclipse.persistence.eis.interactions, \

org.eclipse.persistence.eis.mappings, \

org.eclipse.persistence.exceptions, \

org.eclipse.persistence.exceptions.i18n, \

org.eclipse.persistence.expressions, \

org.eclipse.persistence.expressions.spatial, \

org.eclipse.persistence.history, \

org.eclipse.persistence.indirection, \

org.eclipse.persistence.logging, \

org.eclipse.persistence.mappings, \

org.eclipse.persistence.mappings.converters, \

org.eclipse.persistence.mappings.foundation, \

org.eclipse.persistence.mappings.querykeys, \

org.eclipse.persistence.mappings.structures, \

org.eclipse.persistence.mappings.transformers, \

org.eclipse.persistence.mappings.xdb, \

org.eclipse.persistence.oxm, \

org.eclipse.persistence.oxm.annotations, \

org.eclipse.persistence.oxm.attachment, \

org.eclipse.persistence.oxm.documentpreservation, \

org.eclipse.persistence.oxm.mappings, \

org.eclipse.persistence.oxm.mappings.converters, \

org.eclipse.persistence.oxm.mappings.nullpolicy, \

org.eclipse.persistence.oxm.platform, \

org.eclipse.persistence.oxm.record, \

org.eclipse.persistence.oxm.schema, \

org.eclipse.persistence.oxm.sequenced, \

org.eclipse.persistence.oxm.unmapped, \

org.eclipse.persistence.platform.database, \

org.eclipse.persistence.platform.database.converters, \

org.eclipse.persistence.platform.database.events, \

org.eclipse.persistence.platform.database.jdbc, \

org.eclipse.persistence.platform.database.oracle.annotations, \

org.eclipse.persistence.platform.database.oracle.jdbc, \

org.eclipse.persistence.platform.database.oracle.plsql, \

org.eclipse.persistence.platform.database.partitioning, \

org.eclipse.persistence.platform.server, \

org.eclipse.persistence.platform.server.jboss, \

org.eclipse.persistence.platform.server.oc4j, \

org.eclipse.persistence.platform.xml, \

org.eclipse.persistence.platform.xml.jaxp, \

org.eclipse.persistence.queries, \

org.eclipse.persistence.sequencing, \

org.eclipse.persistence.services, \

org.eclipse.persistence.services.jboss, \

org.eclipse.persistence.services.mbean, \

org.eclipse.persistence.sessions, \

org.eclipse.persistence.sessions.broker, \

org.eclipse.persistence.sessions.changesets, \

org.eclipse.persistence.sessions.coordination, \

org.eclipse.persistence.sessions.coordination.broadcast, \

org.eclipse.persistence.sessions.coordination.jms, \

org.eclipse.persistence.sessions.coordination.rmi, \

org.eclipse.persistence.sessions.factories, \

org.eclipse.persistence.sessions.interceptors, \

org.eclipse.persistence.sessions.remote, \

org.eclipse.persistence.sessions.server, \

org.eclipse.persistence.tools, \

org.eclipse.persistence.tools.file, \

org.eclipse.persistence.tools.profiler, \

org.eclipse.persistence.tools.schemaframework, \
org.eclipse.persistence.transaction, \
org.eclipse.persistence.transaction.jboss, \
org.eclipse.persistence.transaction.jotm, \
org.eclipse.persistence.transaction.oc4j



--
View this message in context: http://karaf.922171.n3.nabble.com/Karaf-JPA-and-EclipseLink-tp4027571p4030253.html
Sent from the Karaf - User mailing list archive at Nabble.com.

Re: Karaf JPA and EclipseLink

Posted by lbu <lb...@gmail.com>.
I still have an issue with the packages import:

karaf@root> la | grep EclipseLink
[  68] [Active     ] [            ] [   80] EclipseLink ASM
(3.3.1.v201206041142)
[  70] [Active     ] [            ] [   80] EclipseLink ANTLR
(3.2.0.v201206041011)
[  71] [Active     ] [            ] [   80] EclipseLink Core
(2.4.1.v20121003-ad44345)
[  74] [Active     ] [            ] [   80] EclipseLink Hermes Parser
(2.0.1.v20121003-ad44345)
[  75] [Active     ] [            ] [   80] EclipseLink JPA
(2.4.1.v20121003-ad44345)

If I start my eclipselink bundle, I have the following exception:

2013-03-18 12:24:05,168 | ERROR | BlueprintContainerImpl           |
blueprint.container.BlueprintContainerImpl | org.apache.aries.blueprint.core
| Unable to start blueprint container for bundle jpa-eclipselink
org.osgi.service.blueprint.container.ComponentDefinitionException: Unable to
instantiate components
        at
org.apache.aries.blueprint.container.BlueprintContainerImpl.instantiateEagerComponents(BlueprintContainerImpl.java:650)[7:org.apache.aries.blueprint.core:1.0.1]
        at
org.apache.aries.blueprint.container.BlueprintContainerImpl.doRun(BlueprintContainerImpl.java:353)[7:org.apache.aries.blueprint.core:1.0.1]
        at
org.apache.aries.blueprint.container.BlueprintContainerImpl.run(BlueprintContainerImpl.java:252)[7:org.apache.aries.blueprint.core:1.0.1]
        at
org.apache.aries.blueprint.utils.threading.impl.DiscardableRunnable.run(DiscardableRunnable.java:48)[7:org.apache.aries.blueprint.core:1.0.1]
        at
java.util.concurrent.Executors$RunnableAdapter.call(Executors.java:471)[:1.7.0_17]
        at
java.util.concurrent.FutureTask$Sync.innerRun(FutureTask.java:334)[:1.7.0_17]
        at
java.util.concurrent.FutureTask.run(FutureTask.java:166)[:1.7.0_17]
        at
java.util.concurrent.ScheduledThreadPoolExecutor$ScheduledFutureTask.access$201(ScheduledThreadPoolExecutor.java:178)[:1.7.0_17]
        at
java.util.concurrent.ScheduledThreadPoolExecutor$ScheduledFutureTask.run(ScheduledThreadPoolExecutor.java:292)[:1.7.0_17]
        at
java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1145)[:1.7.0_17]
        at
java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:615)[:1.7.0_17]
        at java.lang.Thread.run(Thread.java:722)[:1.7.0_17]
Caused by: java.lang.NoClassDefFoundError:
org/eclipse/persistence/internal/weaving/PersistenceWeaved
        at java.lang.ClassLoader.defineClass1(Native Method)[:1.7.0_17]
        at
java.lang.ClassLoader.defineClass(ClassLoader.java:791)[:1.7.0_17]
        at
org.apache.felix.framework.BundleWiringImpl$BundleClassLoader.findClass(BundleWiringImpl.java:2128)
        at
org.apache.felix.framework.BundleWiringImpl.findClassOrResourceByDelegation(BundleWiringImpl.java:1432)
        at
org.apache.felix.framework.BundleWiringImpl.access$400(BundleWiringImpl.java:72)
        at
org.apache.felix.framework.BundleWiringImpl$BundleClassLoader.loadClass(BundleWiringImpl.java:1843)
        at java.lang.ClassLoader.loadClass(ClassLoader.java:356)[:1.7.0_17]
        at java.lang.Class.getDeclaredMethods0(Native Method)[:1.7.0_17]
        at
java.lang.Class.privateGetDeclaredMethods(Class.java:2451)[:1.7.0_17]
        at
java.lang.Class.privateGetPublicMethods(Class.java:2571)[:1.7.0_17]
        at java.lang.Class.getMethods(Class.java:1429)[:1.7.0_17]
        at
org.apache.aries.blueprint.utils.ReflectionUtils.doGetPublicMethods(ReflectionUtils.java:146)
        at
org.apache.aries.blueprint.utils.ReflectionUtils.getPublicMethods(ReflectionUtils.java:130)
        at
org.apache.aries.blueprint.utils.ReflectionUtils.getPropertyDescriptors(ReflectionUtils.java:216)
        at
org.apache.aries.blueprint.container.BeanRecipe.getPropertyDescriptor(BeanRecipe.java:949)
        at
org.apache.aries.blueprint.container.BeanRecipe.setProperty(BeanRecipe.java:936)
        at
org.apache.aries.blueprint.container.BeanRecipe.setProperties(BeanRecipe.java:907)
        at
org.apache.aries.blueprint.container.BeanRecipe.setProperties(BeanRecipe.java:888)
        at
org.apache.aries.blueprint.container.BeanRecipe.internalCreate2(BeanRecipe.java:820)
        at
org.apache.aries.blueprint.container.BeanRecipe.internalCreate(BeanRecipe.java:787)
        at
org.apache.aries.blueprint.di.AbstractRecipe$1.call(AbstractRecipe.java:79)
        at
java.util.concurrent.FutureTask$Sync.innerRun(FutureTask.java:334)[:1.7.0_17]
        at
java.util.concurrent.FutureTask.run(FutureTask.java:166)[:1.7.0_17]
        at
org.apache.aries.blueprint.di.AbstractRecipe.create(AbstractRecipe.java:88)[7:org.apache.aries.blueprint.core:1.0.1]
        at
org.apache.aries.blueprint.container.BlueprintRepository.createInstances(BlueprintRepository.java:245)[7:org.apache.aries.blueprint.core:1.0.1]
        at
org.apache.aries.blueprint.container.BlueprintRepository.createAll(BlueprintRepository.java:183)[7:org.apache.aries.blueprint.core:1.0.1]
        at
org.apache.aries.blueprint.container.BlueprintContainerImpl.instantiateEagerComponents(BlueprintContainerImpl.java:646)[7:org.apache.aries.blueprint.core:1.0.1]
        ... 11 more
Caused by: java.lang.ClassNotFoundException:
org.eclipse.persistence.internal.weaving.PersistenceWeaved not found by
jpa-eclipselink [400]
        at
org.apache.felix.framework.BundleWiringImpl.findClassOrResourceByDelegation(BundleWiringImpl.java:1460)
        at
org.apache.felix.framework.BundleWiringImpl.access$400(BundleWiringImpl.java:72)
        at
org.apache.felix.framework.BundleWiringImpl$BundleClassLoader.loadClass(BundleWiringImpl.java:1843)
        at java.lang.ClassLoader.loadClass(ClassLoader.java:356)[:1.7.0_17]
        ... 38 more

Here some more details:

karaf@root> imports 75 | grep weav
EclipseLink Core (71): org.eclipse.persistence.internal.weaving;
version=2.4.1

karaf@root> dev:show-tree 75
Bundle org.eclipse.persistence.jpa [75] is currently ACTIVE

org.eclipse.persistence.jpa [75]
+- org.apache.geronimo.specs.geronimo-jta_1.1_spec [55]
+- org.apache.geronimo.specs.geronimo-jpa_2.0_spec [56]
+- org.apache.geronimo.specs.geronimo-validation_1.0_spec [185]
+- org.apache.servicemix.bundles.ant [187]
+- org.eclipse.persistence.asm [68]
+- org.eclipse.persistence.core [71]
   +- org.eclipse.persistence.antlr [70]
   +- org.apache.geronimo.specs.geronimo-jpa_2.0_spec [56]
   +- org.apache.geronimo.specs.geronimo-jta_1.1_spec [55]
   +- org.eclipse.persistence.asm [68]
   +- org.eclipse.persistence.jpa.jpql [74]
      +- org.apache.geronimo.specs.geronimo-jpa_2.0_spec [56]

I've solved it with DynamicImport-Package but it is not the best solution,
do you know another way to fix it?


Thx





--
View this message in context: http://karaf.922171.n3.nabble.com/Karaf-JPA-and-EclipseLink-tp4027571p4028245.html
Sent from the Karaf - User mailing list archive at Nabble.com.