Deploying Apache ODE on FuseESB 4.0 ...
ddziadek Aug 13, 2008 5:40 AMHi 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