2 Replies Latest reply on Aug 21, 2008 5:24 AM by Dariusz Dziadek

    Deploying Apache ODE on FuseESB 4.0 ...

    Dariusz Dziadek Newbie

      Hi all,

       

      I'm trying to deploy Apache ODE JBI component (ver. 1.2) on FuseESB 4.0 but an error is occur:

       

      10:54:28,593 | ERROR | Timer-0          | OdeLifeCycle                     | org.apache.ode.jbi.OdeLifeCycle   178 | Database configuration error.

      *java.lang.RuntimeException: TransactionManager is not recoverable.*

      at org.apache.ode.il.dbutil.Database.initInternalDb(Database.java:179)

      at org.apache.ode.il.dbutil.Database.initEmbeddedDb(Database.java:232)

      at org.apache.ode.il.dbutil.Database.initDataSource(Database.java:147)

      at org.apache.ode.il.dbutil.Database.start(Database.java:99)

      at org.apache.ode.jbi.OdeLifeCycle.initDataSource(OdeLifeCycle.java:175)

      at org.apache.ode.jbi.OdeLifeCycle.init(OdeLifeCycle.java:113)

      at org.apache.servicemix.jbi.deployer.impl.ComponentImpl$ComponentWrapper.init(ComponentImpl.java:246)

      at org.apache.servicemix.jbi.runtime.impl.ComponentRegistryImpl.doRegister(ComponentRegistryImpl.java:97)

      at org.apache.servicemix.jbi.runtime.impl.ComponentRegistryImpl.doRegister(ComponentRegistryImpl.java:37)

      at org.apache.servicemix.nmr.core.ServiceRegistryImpl.register(ServiceRegistryImpl.java:47)

      at sun.reflect.GeneratedMethodAccessor48.invoke(Unknown Source)

      at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:25)

      at java.lang.reflect.Method.invoke(Method.java:597)

      at org.springframework.osgi.util.internal.ReflectionUtils.invokeMethod(ReflectionUtils.java:108)

      at org.springframework.osgi.config.CustomListenerAdapterUtils.invokeCustomMethods(CustomListenerAdapterUtils.java:154)

      at org.springframework.osgi.config.OsgiServiceLifecycleListenerAdapter.bind(OsgiServiceLifecycleListenerAdapter.java:186)

      at org.springframework.osgi.service.importer.support.internal.util.OsgiServiceBindingUtils.callListenersBind(OsgiServiceBindingUtils.java:50)

      at org.springframework.osgi.service.importer.support.internal.collection.OsgiServiceCollection$Listener.serviceChanged(OsgiServiceCollection.java:106)

      at org.apache.felix.framework.util.EventDispatcher.invokeServiceListenerCallback(EventDispatcher.java:765)

      at org.apache.felix.framework.util.EventDispatcher.fireEventImmediately(EventDispatcher.java:623)

      at org.apache.felix.framework.util.EventDispatcher.fireServiceEvent(EventDispatcher.java:554)

      at org.apache.felix.framework.Felix.fireServiceEvent(Felix.java:3612)

      at org.apache.felix.framework.Felix.access$000(Felix.java:36)

      at org.apache.felix.framework.Felix$1.serviceChanged(Felix.java:626)

      at org.apache.felix.framework.ServiceRegistry.fireServiceChanged(ServiceRegistry.java:559)

      at org.apache.felix.framework.ServiceRegistry.registerService(ServiceRegistry.java:75)

      at org.apache.felix.framework.Felix.registerService(Felix.java:2702)

      at org.apache.felix.framework.BundleContextImpl.registerService(BundleContextImpl.java:254)

      at org.apache.felix.framework.BundleContextImpl.registerService(BundleContextImpl.java:232)

      at org.apache.servicemix.jbi.deployer.impl.Deployer.registerService(Deployer.java:427)

      at org.apache.servicemix.jbi.deployer.impl.Deployer.installComponent(Deployer.java:246)

      at org.apache.servicemix.jbi.deployer.impl.Deployer.register(Deployer.java:168)

      at org.apache.servicemix.jbi.deployer.impl.AbstractBundleWatcher.onBundleStarted(AbstractBundleWatcher.java:80)

      at org.apache.servicemix.jbi.deployer.impl.AbstractBundleWatcher.access$000(AbstractBundleWatcher.java:34)

      at org.apache.servicemix.jbi.deployer.impl.AbstractBundleWatcher$1.bundleChanged(AbstractBundleWatcher.java:53)

      at org.apache.felix.framework.util.EventDispatcher.invokeBundleListenerCallback(EventDispatcher.java:690)

      at org.apache.felix.framework.util.EventDispatcher.fireEventImmediately(EventDispatcher.java:619)

      at org.apache.felix.framework.util.EventDispatcher.fireBundleEvent(EventDispatcher.java:532)

      at org.apache.felix.framework.Felix.fireBundleEvent(Felix.java:3601)

      at org.apache.felix.framework.Felix._startBundle(Felix.java:1616)

      at org.apache.felix.framework.Felix.startBundle(Felix.java:1544)

      at org.apache.felix.framework.BundleImpl.start(BundleImpl.java:371)

      at org.apache.servicemix.kernel.filemonitor.FileMonitor.refreshPackagesAndStartOrUpdateBundles(FileMonitor.java:519)

      at org.apache.servicemix.kernel.filemonitor.FileMonitor.onFilesChanged(FileMonitor.java:285)

      at org.apache.servicemix.kernel.filemonitor.FileMonitor$1.filesChanged(FileMonitor.java:132)

      at org.apache.servicemix.kernel.filemonitor.Scanner.reportBulkChanges(Scanner.java:433)

      at org.apache.servicemix.kernel.filemonitor.Scanner.reportDifferences(Scanner.java:322)

      at org.apache.servicemix.kernel.filemonitor.Scanner.scan(Scanner.java:254)

      at org.apache.servicemix.kernel.filemonitor.Scanner$1.run(Scanner.java:214)

      at java.util.TimerThread.mainLoop(Timer.java:512)

      at java.util.TimerThread.run(Timer.java:462)

       

      And some code from Database.java (around line 179):

       

      private void initInternalDb(String url, String driverClass, String username,String password) throws DatabaseConfigException {

      __log.debug("Creating connection pool for " + url + " with driver " + driverClass);

       

      if (!(_txm instanceof RecoverableTransactionManager)) {

      throw new RuntimeException("TransactionManager is not recoverable.");

      }

      ...

      }

       

      It seems that org.apache.servicemix.transaction-4.0.0.0-fuse.jar bundle exposes TransactionManager:

      ...

       

       

      Looking for answers.

       

      Best regards,

      Darek