ODE
  1. ODE
  2. ODE-833

ODE 1.3.4rc1 + EclipseLink 2.0 integration in SMX 4.2

    Details

    • Type: Bug Bug
    • Status: Resolved
    • Priority: Major Major
    • Resolution: Fixed
    • Affects Version/s: None
    • Fix Version/s: 1.3.4
    • Component/s: JBI Integration
    • Labels:
      None
    • Environment:
      EclipseLink 2.0
      ODE 1.3.4rc1

      Description

      Install ODE 1.3.4rc1 (osgi version) and EclipseLink 2.0 in Servicemix 4.2 causes this error[1] on container restart.

      ODE's data layer is using JPA 1.0 but EclipseLinkg is using JPA 2.0.

      The problem is for the PersitenceProvider class to create the EntityManagerFactory (in org.apache.ode.dao.jpa.BPELDAOConnectionFactoryImpl.init())

      1.- The persitenceProvider property (javax.persistence.provider)
      passed to create the entityManager (is null, I don't know why)

      2.- The OSGI services registered under the interface
      "javax.persistence.spi.PersistenceProvider". There are two (the ODE
      one, registered first and the EclipseLink).
      The osgiLocator returns always the last service registered, in my case
      the EclipseLink persitence provider and this is the origin of the
      classCastExcpecion (JPA 1.0 vs JPA 2.0)

      3.- The class defined in the bundle classpath (never reach this point).

      [1] 10:00:20,414 | WARN | xtenderThread-61 | ComponentRegistryImpl

      mix.nmr.core.ServiceRegistryImpl 49 Unable to register
      service OdeBpelEngine with properties {NAME=OdeBpelEngine, objectClass=[Ljava.lang.String;@19a2b3d, service.id=269, TYPE=service-engine}

      . Reason: javax.jbi.JBIException: Fatal error
      javax.jbi.JBIException: Fatal error
      at org.apache.ode.jbi.OdeLifeCycle.init(OdeLifeCycle.java:152)
      at org.apache.servicemix.jbi.deployer.artifacts.ComponentImpl$ComponentWrapper.init(ComponentImpl.java:249)
      at org.apache.servicemix.jbi.runtime.impl.ComponentRegistryImpl.doRegister(ComponentRegistryImpl.java:98)
      at org.apache.servicemix.jbi.runtime.impl.ComponentRegistryImpl.doRegister(ComponentRegistryImpl.java:38)
      at org.apache.servicemix.nmr.core.ServiceRegistryImpl.register(ServiceRegistryImpl.java:47)
      at org.apache.servicemix.nmr.osgi.OsgiServiceRegistryTracker.addingService(OsgiServiceRegistryTracker.java:79)
      at org.osgi.util.tracker.ServiceTracker$Tracked.customizerAdding(ServiceTracker.java:896)
      at org.osgi.util.tracker.AbstractTracked.trackAdding(AbstractTracked.java:261)
      at org.osgi.util.tracker.AbstractTracked.track(AbstractTracked.java:233)
      at org.osgi.util.tracker.ServiceTracker$Tracked.serviceChanged(ServiceTracker.java:840)
      at org.apache.felix.framework.util.EventDispatcher.invokeServiceListenerCallback(EventDispatcher.java:864)
      at org.apache.felix.framework.util.EventDispatcher.fireEventImmediately(EventDispatcher.java:732)
      at org.apache.felix.framework.util.EventDispatcher.fireServiceEvent(EventDispatcher.java:662)
      at org.apache.felix.framework.Felix.fireServiceEvent(Felix.java:3619)
      at org.apache.felix.framework.Felix.access$000(Felix.java:39)
      at org.apache.felix.framework.Felix$2.serviceChanged(Felix.java:667)
      at org.apache.felix.framework.ServiceRegistry.registerService(ServiceRegistry.java:97)
      at org.apache.felix.framework.Felix.registerService(Felix.java:2760)
      at org.apache.felix.framework.BundleContextImpl.registerService(BundleContextImpl.java:252)
      at org.apache.servicemix.jbi.deployer.impl.Deployer.registerService(Deployer.java:775)
      at org.apache.servicemix.jbi.deployer.impl.Deployer.registerComponent(Deployer.java:437)
      at org.apache.servicemix.jbi.deployer.impl.ComponentInstaller.initComponent(ComponentInstaller.java:427)
      at org.apache.servicemix.jbi.deployer.impl.ComponentInstaller.install(ComponentInstaller.java:153)
      at org.apache.servicemix.jbi.deployer.impl.Deployer.registerDeployedComponent(Deployer.java:670)
      at org.apache.servicemix.jbi.deployer.impl.Deployer$1.addingService(Deployer.java:242)
      at org.osgi.util.tracker.ServiceTracker$Tracked.customizerAdding(ServiceTracker.java:896)
      at org.osgi.util.tracker.AbstractTracked.trackAdding(AbstractTracked.java:261)
      at org.osgi.util.tracker.AbstractTracked.track(AbstractTracked.java:233)
      at org.osgi.util.tracker.ServiceTracker$Tracked.serviceChanged(ServiceTracker.java:840)
      at org.apache.felix.framework.util.EventDispatcher.invokeServiceListenerCallback(EventDispatcher.java:864)
      at org.apache.felix.framework.util.EventDispatcher.fireEventImmediately(EventDispatcher.java:732)
      at org.apache.felix.framework.util.EventDispatcher.fireServiceEvent(EventDispatcher.java:662)
      at org.apache.felix.framework.Felix.fireServiceEvent(Felix.java:3619)
      at org.apache.felix.framework.Felix.access$000(Felix.java:39)
      at org.apache.felix.framework.Felix$2.serviceChanged(Felix.java:667)
      at org.apache.felix.framework.ServiceRegistry.registerService(ServiceRegistry.java:97)
      at org.apache.felix.framework.Felix.registerService(Felix.java:2760)
      at org.apache.felix.framework.BundleContextImpl.registerService(BundleContextImpl.java:252)
      at org.springframework.osgi.service.exporter.support.OsgiServiceFactoryBean.registerService(OsgiServiceFactoryBean.java:310)
      at org.springframework.osgi.service.exporter.support.OsgiServiceFactoryBean.registerService(OsgiServiceFactoryBean.java:279)
      at org.springframework.osgi.service.exporter.support.OsgiServiceFactoryBean$Executor.registerService(OsgiServiceFactoryBean.java:95)
      at org.springframework.osgi.service.exporter.support.internal.controller.ExporterController.registerService(ExporterController.java:40)
      at org.springframework.osgi.service.dependency.internal.DefaultMandatoryDependencyManager.startExporter(DefaultMandatoryDependencyManager.java:325)
      at org.springframework.osgi.service.dependency.internal.DefaultMandatoryDependencyManager.checkIfExporterShouldStart(DefaultMandatoryDependencyManager.java:267)
      at org.springframework.osgi.service.dependency.internal.DefaultMandatoryDependencyManager.discoverDependentImporterFor(DefaultMandatoryDependencyManager.java:260)
      at org.springframework.osgi.service.dependency.internal.DefaultMandatoryDependencyManager.addServiceExporter(DefaultMandatoryDependencyManager.java:191)
      at org.springframework.osgi.service.dependency.internal.MandatoryDependencyBeanPostProcessor.postProcessAfterInitialization(MandatoryDependencyBeanPostProcessor.java:46)
      at org.springframework.beans.factory.support.AbstractAutowireCapableBeanFactory.applyBeanPostProcessorsAfterInitialization(AbstractAutowireCapableBeanFactory.java:361)
      at org.springframework.beans.factory.support.AbstractAutowireCapableBeanFactory.initializeBean(AbstractAutowireCapableBeanFactory.java:1344)
      at org.springframework.beans.factory.support.AbstractAutowireCapableBeanFactory.doCreateBean(AbstractAutowireCapableBeanFactory.java:473)
      at org.springframework.beans.factory.support.AbstractAutowireCapableBeanFactory$1.run(AbstractAutowireCapableBeanFactory.java:409)
      at java.security.AccessController.doPrivileged(Native Method)
      at org.springframework.beans.factory.support.AbstractAutowireCapableBeanFactory.createBean(AbstractAutowireCapableBeanFactory.java:380)
      at org.springframework.beans.factory.support.AbstractBeanFactory$1.getObject(AbstractBeanFactory.java:264)
      at org.springframework.beans.factory.support.DefaultSingletonBeanRegistry.getSingleton(DefaultSingletonBeanRegistry.java:222)
      at org.springframework.beans.factory.support.AbstractBeanFactory.doGetBean(AbstractBeanFactory.java:261)
      at org.springframework.beans.factory.support.AbstractBeanFactory.getBean(AbstractBeanFactory.java:185)
      at org.springframework.beans.factory.support.AbstractBeanFactory.getBean(AbstractBeanFactory.java:164)
      at org.springframework.beans.factory.support.DefaultListableBeanFactory.preInstantiateSingletons(DefaultListableBeanFactory.java:423)
      at org.springframework.context.support.AbstractApplicationContext.finishBeanFactoryInitialization(AbstractApplicationContext.java:728)
      at org.springframework.osgi.context.support.AbstractDelegatedExecutionApplicationContext.access$1600(AbstractDelegatedExecutionApplicationContext.java:69)
      at org.springframework.osgi.context.support.AbstractDelegatedExecutionApplicationContext$4.run(AbstractDelegatedExecutionApplicationContext.java:355)
      at org.springframework.osgi.util.internal.PrivilegedUtils.executeWithCustomTCCL(PrivilegedUtils.java:85)
      at org.springframework.osgi.context.support.AbstractDelegatedExecutionApplicationContext.completeRefresh(AbstractDelegatedExecutionApplicationContext.java:320)
      at org.springframework.osgi.extender.internal.dependencies.startup.DependencyWaiterApplicationContextExecutor$CompleteRefreshTask.run(DependencyWaiterApplicationContextExecutor.java:136)
      at java.lang.Thread.run(Thread.java:619)
      Caused by: javax.persistence.PersistenceException: Provider error.
      Provider: null
      at javax.persistence.Persistence.createEntityManagerFactory(Persistence.java:109)
      at org.apache.ode.dao.jpa.BPELDAOConnectionFactoryImpl.init(BPELDAOConnectionFactoryImpl.java:113)
      at org.apache.ode.il.dbutil.Database.createDaoCF(Database.java:291)
      at org.apache.ode.jbi.OdeLifeCycle.initDao(OdeLifeCycle.java:269)
      at org.apache.ode.jbi.OdeLifeCycle.init(OdeLifeCycle.java:129)
      ... 65 more
      Caused by: java.lang.ClassCastException:
      org.eclipse.persistence.jpa.PersistenceProvider cannot be cast to
      javax.persistence.spi.PersistenceProvider
      at javax.persistence.Persistence.createEntityManagerFactory(Persistence.java:103)
      ... 69 more

      1. ODE-833.patch
        2 kB
        Agustín Gañán

        Activity

        No work has yet been logged on this issue.

          People

          • Assignee:
            Unassigned
            Reporter:
            Agustín Gañán
          • Votes:
            0 Vote for this issue
            Watchers:
            2 Start watching this issue

            Dates

            • Created:
              Updated:
              Resolved:

              Development