pax-jdbc-pool-narayana integrates with MySQL does not start as expected

Solution Verified - Updated -

Issue

With the following instruction, pax-jdbc-narayana on karaf does not start as expected with following ERROR log

1. install -s file:///root/jar/mysql-connector-java-5.1.47.jar
2. feature:install pax-jdbc-pool-narayana
3. feature:install -v jdbc
4. install -s file:///root/jar/pax-jdbc-mysql-1.3.4.jar
5. install -s blueprint:file:///root/jar/xa-datasource.xml
2019-09-24 17:33:10,929 | ERROR | v3/xa-datasource.xml | o.a.a.b.c.BlueprintContainerImpl | 51 - org.apache.aries.blueprint.core - 1.10.1 | Unable to start container for blueprint bundle xa-datasource.xml/0.0.0
org.osgi.service.blueprint.container.ComponentDefinitionException: org.osgi.service.blueprint.container.ComponentDefinitionException: Error when instantiating bean dbpool of class null
    at org.apache.aries.blueprint.container.ServiceRecipe.createService(ServiceRecipe.java:310) ~[51:org.apache.aries.blueprint.core:1.10.1]
    at org.apache.aries.blueprint.container.ServiceRecipe.internalGetService(ServiceRecipe.java:252) ~[51:org.apache.aries.blueprint.core:1.10.1]
    at org.apache.aries.blueprint.container.ServiceRecipe.internalCreate(ServiceRecipe.java:149) ~[51:org.apache.aries.blueprint.core:1.10.1]
    at org.apache.aries.blueprint.di.AbstractRecipe$1.call(AbstractRecipe.java:81) ~[51:org.apache.aries.blueprint.core:1.10.1]
    at java.util.concurrent.FutureTask.run(FutureTask.java:266) ~[?:?]
    at org.apache.aries.blueprint.di.AbstractRecipe.create(AbstractRecipe.java:90) ~[51:org.apache.aries.blueprint.core:1.10.1]
    at org.apache.aries.blueprint.container.BlueprintRepository.createInstances(BlueprintRepository.java:360) ~[51:org.apache.aries.blueprint.core:1.10.1]
    at org.apache.aries.blueprint.container.BlueprintRepository.createAll(BlueprintRepository.java:190) ~[51:org.apache.aries.blueprint.core:1.10.1]
    at org.apache.aries.blueprint.container.BlueprintContainerImpl.instantiateEagerComponents(BlueprintContainerImpl.java:717) ~[51:org.apache.aries.blueprint.core:1.10.1]
    at org.apache.aries.blueprint.container.BlueprintContainerImpl.doRun(BlueprintContainerImpl.java:413) [51:org.apache.aries.blueprint.core:1.10.1]
    at org.apache.aries.blueprint.container.BlueprintContainerImpl.run(BlueprintContainerImpl.java:278) [51:org.apache.aries.blueprint.core:1.10.1]
    at org.apache.aries.blueprint.container.BlueprintExtender.createContainer(BlueprintExtender.java:299) [51:org.apache.aries.blueprint.core:1.10.1]
    at org.apache.aries.blueprint.container.BlueprintExtender.createContainer(BlueprintExtender.java:268) [51:org.apache.aries.blueprint.core:1.10.1]
    at org.apache.aries.blueprint.container.BlueprintExtender.createContainer(BlueprintExtender.java:264) [51:org.apache.aries.blueprint.core:1.10.1]
    at org.apache.aries.blueprint.container.BlueprintExtender.modifiedBundle(BlueprintExtender.java:254) [51:org.apache.aries.blueprint.core:1.10.1]
    at org.apache.aries.util.tracker.hook.BundleHookBundleTracker$Tracked.customizerModified(BundleHookBundleTracker.java:500) [51:org.apache.aries.blueprint.core:1.10.1]
    at org.apache.aries.util.tracker.hook.BundleHookBundleTracker$Tracked.customizerModified(BundleHookBundleTracker.java:433) [51:org.apache.aries.blueprint.core:1.10.1]
    at org.apache.aries.util.tracker.hook.BundleHookBundleTracker$AbstractTracked.track(BundleHookBundleTracker.java:725) [51:org.apache.aries.blueprint.core:1.10.1]
    at org.apache.aries.util.tracker.hook.BundleHookBundleTracker$Tracked.bundleChanged(BundleHookBundleTracker.java:463) [51:org.apache.aries.blueprint.core:1.10.1]
    at org.apache.aries.util.tracker.hook.BundleHookBundleTracker$BundleEventHook.event(BundleHookBundleTracker.java:422) [51:org.apache.aries.blueprint.core:1.10.1]
    at org.apache.felix.framework.util.SecureAction.invokeBundleEventHook(SecureAction.java:1179) [?:?]
    at org.apache.felix.framework.EventDispatcher.createWhitelistFromHooks(EventDispatcher.java:730) [?:?]
    at org.apache.felix.framework.EventDispatcher.fireBundleEvent(EventDispatcher.java:485) [?:?]
    at org.apache.felix.framework.Felix.fireBundleEvent(Felix.java:4579) [?:?]
    at org.apache.felix.framework.Felix.startBundle(Felix.java:2174) [?:?]
    at org.apache.felix.framework.BundleImpl.start(BundleImpl.java:998) [?:?]
    at org.apache.felix.framework.BundleImpl.start(BundleImpl.java:984) [?:?]
    at org.apache.karaf.bundle.command.Install.execute(Install.java:115) [121:org.apache.karaf.bundle.core:4.2.0.fuse-730036-redhat-00001]
    at org.apache.karaf.shell.impl.action.command.ActionCommand.execute(ActionCommand.java:84) [145:org.apache.karaf.shell.core:4.2.0.fuse-730036-redhat-00001]
    at org.apache.karaf.shell.impl.console.osgi.secured.SecuredCommand.execute(SecuredCommand.java:68) [145:org.apache.karaf.shell.core:4.2.0.fuse-730036-redhat-00001]
    at org.apache.karaf.shell.impl.console.osgi.secured.SecuredCommand.execute(SecuredCommand.java:86) [145:org.apache.karaf.shell.core:4.2.0.fuse-730036-redhat-00001]
    at org.apache.felix.gogo.runtime.Closure.executeCmd(Closure.java:599) [145:org.apache.karaf.shell.core:4.2.0.fuse-730036-redhat-00001]
    at org.apache.felix.gogo.runtime.Closure.executeStatement(Closure.java:526) [145:org.apache.karaf.shell.core:4.2.0.fuse-730036-redhat-00001]
    at org.apache.felix.gogo.runtime.Closure.execute(Closure.java:415) [145:org.apache.karaf.shell.core:4.2.0.fuse-730036-redhat-00001]
    at org.apache.felix.gogo.runtime.Pipe.doCall(Pipe.java:416) [145:org.apache.karaf.shell.core:4.2.0.fuse-730036-redhat-00001]
    at org.apache.felix.gogo.runtime.Pipe.call(Pipe.java:229) [145:org.apache.karaf.shell.core:4.2.0.fuse-730036-redhat-00001]
    at org.apache.felix.gogo.runtime.Pipe.call(Pipe.java:59) [145:org.apache.karaf.shell.core:4.2.0.fuse-730036-redhat-00001]
    at java.util.concurrent.FutureTask.run(FutureTask.java:266) [?:?]
    at java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1149) [?:?]
    at java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:624) [?:?]
    at java.lang.Thread.run(Thread.java:748) [?:?]
Caused by: org.osgi.service.blueprint.container.ComponentDefinitionException: Error when instantiating bean dbpool of class null
    at org.apache.aries.blueprint.container.BeanRecipe.wrapAsCompDefEx(BeanRecipe.java:362) ~[?:?]
    at org.apache.aries.blueprint.container.BeanRecipe.getInstanceFromFactory(BeanRecipe.java:298) ~[?:?]
    at org.apache.aries.blueprint.container.BeanRecipe.getInstance(BeanRecipe.java:279) ~[?:?]
    at org.apache.aries.blueprint.container.BeanRecipe.internalCreate2(BeanRecipe.java:685) ~[?:?]
    at org.apache.aries.blueprint.container.BeanRecipe.internalCreate(BeanRecipe.java:666) ~[?:?]
    at org.apache.aries.blueprint.di.AbstractRecipe$1.call(AbstractRecipe.java:81) ~[?:?]
    at java.util.concurrent.FutureTask.run(FutureTask.java:266) ~[?:?]
    at org.apache.aries.blueprint.di.AbstractRecipe.create(AbstractRecipe.java:90) ~[?:?]
    at org.apache.aries.blueprint.di.RefRecipe.internalCreate(RefRecipe.java:62) ~[?:?]
    at org.apache.aries.blueprint.di.AbstractRecipe.create(AbstractRecipe.java:108) ~[?:?]
    at org.apache.aries.blueprint.container.ServiceRecipe.createService(ServiceRecipe.java:285) ~[?:?]
    ... 40 more
Caused by: java.sql.SQLException: not supported - use a driver adapter org.ops4j.pax.jdbc.<subprotocol>
    at org.ops4j.pax.jdbc.impl.DriverDataSourceFactory.createXADataSource(DriverDataSourceFactory.java:53) ~[?:?]
    at Proxy7996b74d_5444_4f5d_b2be_fc787b1679de.createXADataSource(Unknown Source) ~[?:?]
    at org.ops4j.pax.jdbc.pool.narayana.impl.DbcpXAPooledDataSourceFactory.create(DbcpXAPooledDataSourceFactory.java:84) ~[?:?]
    at Proxya5cfb71a_deff_44ee_86fd_25ce2e692e6c.create(Unknown Source) ~[?:?]
    at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method) ~[?:?]
    at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:62) ~[?:?]
    at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43) ~[?:?]
    at java.lang.reflect.Method.invoke(Method.java:498) ~[?:?]
    at org.apache.aries.blueprint.utils.ReflectionUtils.invoke(ReflectionUtils.java:337) ~[?:?]
    at org.apache.aries.blueprint.container.BeanRecipe.invoke(BeanRecipe.java:835) ~[?:?]
    at org.apache.aries.blueprint.container.BeanRecipe.getInstanceFromFactory(BeanRecipe.java:296) ~[?:?]
    at org.apache.aries.blueprint.container.BeanRecipe.getInstance(BeanRecipe.java:279) ~[?:?]
    at org.apache.aries.blueprint.container.BeanRecipe.internalCreate2(BeanRecipe.java:685) ~[?:?]
    at org.apache.aries.blueprint.container.BeanRecipe.internalCreate(BeanRecipe.java:666) ~[?:?]
    at org.apache.aries.blueprint.di.AbstractRecipe$1.call(AbstractRecipe.java:81) ~[?:?]
    at java.util.concurrent.FutureTask.run(FutureTask.java:266) ~[?:?]
    at org.apache.aries.blueprint.di.AbstractRecipe.create(AbstractRecipe.java:90) ~[?:?]
    at org.apache.aries.blueprint.di.RefRecipe.internalCreate(RefRecipe.java:62) ~[?:?]
    at org.apache.aries.blueprint.di.AbstractRecipe.create(AbstractRecipe.java:108) ~[?:?]
    at org.apache.aries.blueprint.container.ServiceRecipe.createService(ServiceRecipe.java:285) ~[?:?]
    ... 40 more

Environment

  • Red Hat Fuse
    • 7.x

Subscriber exclusive content

A Red Hat subscription provides unlimited access to our knowledgebase, tools, and much more.

Current Customers and Partners

Log in for full access

Log In

New to Red Hat?

Learn more about Red Hat subscriptions

Using a Red Hat product through a public cloud?

How to access this content