Getting Error "Error retrieving service from ServiceRecipe[name='...'] org.osgi.service.blueprint.container.ComponentDefinitionException: Unable to find property descriptor URL"

Solution Verified - Updated -

Issue

When trying to deploy an OSGi bundle that defines a DataSource bean in Blueprint, we are getting the error

Error retrieving service from ServiceRecipe[name='.component-1']
org.osgi.service.blueprint.container.ComponentDefinitionException: Unable to find property descriptor URL on class com.mysql.jdbc.jdbc2.optional.MysqlXADataSource
  <bean id="mysql-ds" class="com.mysql.jdbc.jdbc2.optional.MysqlXADataSource">
    <property name="databaseName" value="test"/>
    <property name="URL" value="jdbc:mysql://localhost/test?relaxAutoCommit=true" />
    <property name="user" value="root"/>
    <property name="password" value=""/>
  </bean> 

The full error stack trace reads:

2017-08-22 15:10:27,072 | ERROR | loyer-3-thread-1 | ServiceRecipe                    | 18 - org.apache.aries.blueprint.core - 1.7.1 | Error retrieving service from ServiceRecipe[name='.component-1']
org.osgi.service.blueprint.container.ComponentDefinitionException: Unable to find property descriptor URL on class com.mysql.jdbc.jdbc2.optional.MysqlXADataSource
    at org.apache.aries.blueprint.container.BeanRecipe.getPropertyDescriptor(BeanRecipe.java:976)[18:org.apache.aries.blueprint.core:1.7.1]
    at org.apache.aries.blueprint.container.BeanRecipe.setProperty(BeanRecipe.java:958)[18:org.apache.aries.blueprint.core:1.7.1]
    at org.apache.aries.blueprint.container.BeanRecipe.setProperties(BeanRecipe.java:929)[18:org.apache.aries.blueprint.core:1.7.1]
    at org.apache.aries.blueprint.container.BeanRecipe.setProperties(BeanRecipe.java:910)[18:org.apache.aries.blueprint.core:1.7.1]
    at org.apache.aries.blueprint.container.BeanRecipe.internalCreate2(BeanRecipe.java:844)[18:org.apache.aries.blueprint.core:1.7.1]
    at org.apache.aries.blueprint.container.BeanRecipe.internalCreate(BeanRecipe.java:811)[18:org.apache.aries.blueprint.core:1.7.1]
    at org.apache.aries.blueprint.di.AbstractRecipe$1.call(AbstractRecipe.java:79)[18:org.apache.aries.blueprint.core:1.7.1]
    at java.util.concurrent.FutureTask.run(FutureTask.java:262)[:1.7.0_79]
    at org.apache.aries.blueprint.di.AbstractRecipe.create(AbstractRecipe.java:88)[18:org.apache.aries.blueprint.core:1.7.1]
    at org.apache.aries.blueprint.di.RefRecipe.internalCreate(RefRecipe.java:62)[18:org.apache.aries.blueprint.core:1.7.1]
    at org.apache.aries.blueprint.di.AbstractRecipe.create(AbstractRecipe.java:106)[18:org.apache.aries.blueprint.core:1.7.1]
    at org.apache.aries.blueprint.container.ServiceRecipe.createService(ServiceRecipe.java:285)[18:org.apache.aries.blueprint.core:1.7.1]
    at org.apache.aries.blueprint.container.ServiceRecipe.internalGetService(ServiceRecipe.java:252)[18:org.apache.aries.blueprint.core:1.7.1]
    at org.apache.aries.blueprint.container.ServiceRecipe.internalCreate(ServiceRecipe.java:149)[18:org.apache.aries.blueprint.core:1.7.1]
    at org.apache.aries.blueprint.di.AbstractRecipe$1.call(AbstractRecipe.java:79)[18:org.apache.aries.blueprint.core:1.7.1]
    at java.util.concurrent.FutureTask.run(FutureTask.java:262)[:1.7.0_79]
    at org.apache.aries.blueprint.di.AbstractRecipe.create(AbstractRecipe.java:88)[18:org.apache.aries.blueprint.core:1.7.1]
    at org.apache.aries.blueprint.container.BlueprintRepository.createInstances(BlueprintRepository.java:255)[18:org.apache.aries.blueprint.core:1.7.1]
    at org.apache.aries.blueprint.container.BlueprintRepository.createAll(BlueprintRepository.java:186)[18:org.apache.aries.blueprint.core:1.7.1]
    at org.apache.aries.blueprint.container.BlueprintContainerImpl.instantiateEagerComponents(BlueprintContainerImpl.java:724)[18:org.apache.aries.blueprint.core:1.7.1]
    at org.apache.aries.blueprint.container.BlueprintContainerImpl.doRun(BlueprintContainerImpl.java:411)[18:org.apache.aries.blueprint.core:1.7.1]
    at org.apache.aries.blueprint.container.BlueprintContainerImpl.run(BlueprintContainerImpl.java:276)[18:org.apache.aries.blueprint.core:1.7.1]
    at org.apache.aries.blueprint.container.BlueprintExtender.createContainer(BlueprintExtender.java:300)[18:org.apache.aries.blueprint.core:1.7.1]
    at org.apache.aries.blueprint.container.BlueprintExtender.createContainer(BlueprintExtender.java:269)[18:org.apache.aries.blueprint.core:1.7.1]
    at org.apache.aries.blueprint.container.BlueprintExtender.createContainer(BlueprintExtender.java:265)[18:org.apache.aries.blueprint.core:1.7.1]
    at org.apache.aries.blueprint.container.BlueprintExtender.modifiedBundle(BlueprintExtender.java:255)[18:org.apache.aries.blueprint.core:1.7.1]
    at org.apache.aries.util.tracker.hook.BundleHookBundleTracker$Tracked.customizerModified(BundleHookBundleTracker.java:500)[12:org.apache.aries.util:1.1.0]
    at org.apache.aries.util.tracker.hook.BundleHookBundleTracker$Tracked.customizerModified(BundleHookBundleTracker.java:433)[12:org.apache.aries.util:1.1.0]
    at org.apache.aries.util.tracker.hook.BundleHookBundleTracker$AbstractTracked.track(BundleHookBundleTracker.java:725)[12:org.apache.aries.util:1.1.0]
    at org.apache.aries.util.tracker.hook.BundleHookBundleTracker$Tracked.bundleChanged(BundleHookBundleTracker.java:463)[12:org.apache.aries.util:1.1.0]
    at org.apache.aries.util.tracker.hook.BundleHookBundleTracker$BundleEventHook.event(BundleHookBundleTracker.java:422)[12:org.apache.aries.util:1.1.0]
    at org.apache.felix.framework.util.SecureAction.invokeBundleEventHook(SecureAction.java:1127)[org.apache.felix.framework-4.4.1.jar:]
    at org.apache.felix.framework.util.EventDispatcher.createWhitelistFromHooks(EventDispatcher.java:696)[org.apache.felix.framework-4.4.1.jar:]
    at org.apache.felix.framework.util.EventDispatcher.fireBundleEvent(EventDispatcher.java:484)[org.apache.felix.framework-4.4.1.jar:]
    at org.apache.felix.framework.Felix.fireBundleEvent(Felix.java:4429)[org.apache.felix.framework-4.4.1.jar:]
    at org.apache.felix.framework.Felix.startBundle(Felix.java:2100)[org.apache.felix.framework-4.4.1.jar:]
    at org.apache.felix.framework.BundleImpl.start(BundleImpl.java:976)[org.apache.felix.framework-4.4.1.jar:]
    at org.apache.felix.framework.BundleImpl.start(BundleImpl.java:963)[org.apache.felix.framework-4.4.1.jar:]
    at io.fabric8.agent.service.Agent$BaseDeployCallback.startBundle(Agent.java:482)[88:io.fabric8.fabric-agent:1.2.0.redhat-630262]
    at io.fabric8.agent.service.Deployer$3.call(Deployer.java:968)[88:io.fabric8.fabric-agent:1.2.0.redhat-630262]
    at io.fabric8.agent.service.Deployer$3.call(Deployer.java:963)[88:io.fabric8.fabric-agent:1.2.0.redhat-630262]
    at java.util.concurrent.FutureTask.run(FutureTask.java:262)[:1.7.0_79]
    at java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1145)[:1.7.0_79]
    at java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:615)[:1.7.0_79]
    at java.lang.Thread.run(Thread.java:745)[:1.7.0_79]
2017-08-22 15:10:27,072 | ERROR | loyer-3-thread-1 | ServiceRecipe                    | 18 - org.apache.aries.blueprint.core - 1.7.1 | Error retrieving service from ServiceRecipe[name='.component-1']
org.osgi.service.blueprint.container.ComponentDefinitionException: org.osgi.service.blueprint.container.ComponentDefinitionException: Unable to find property descriptor URL on class com.mysql.jdbc.jdbc2.optional.MysqlXADataSource
    at org.apache.aries.blueprint.container.ServiceRecipe.createService(ServiceRecipe.java:310)[18:org.apache.aries.blueprint.core:1.7.1]
    at org.apache.aries.blueprint.container.ServiceRecipe.internalGetService(ServiceRecipe.java:252)[18:org.apache.aries.blueprint.core:1.7.1]
    at org.apache.aries.blueprint.container.ServiceRecipe.internalCreate(ServiceRecipe.java:149)[18:org.apache.aries.blueprint.core:1.7.1]
    at org.apache.aries.blueprint.di.AbstractRecipe$1.call(AbstractRecipe.java:79)[18:org.apache.aries.blueprint.core:1.7.1]
    at java.util.concurrent.FutureTask.run(FutureTask.java:262)[:1.7.0_79]
    at org.apache.aries.blueprint.di.AbstractRecipe.create(AbstractRecipe.java:88)[18:org.apache.aries.blueprint.core:1.7.1]
    at org.apache.aries.blueprint.container.BlueprintRepository.createInstances(BlueprintRepository.java:255)[18:org.apache.aries.blueprint.core:1.7.1]
    at org.apache.aries.blueprint.container.BlueprintRepository.createAll(BlueprintRepository.java:186)[18:org.apache.aries.blueprint.core:1.7.1]
    at org.apache.aries.blueprint.container.BlueprintContainerImpl.instantiateEagerComponents(BlueprintContainerImpl.java:724)[18:org.apache.aries.blueprint.core:1.7.1]
    at org.apache.aries.blueprint.container.BlueprintContainerImpl.doRun(BlueprintContainerImpl.java:411)[18:org.apache.aries.blueprint.core:1.7.1]
    at org.apache.aries.blueprint.container.BlueprintContainerImpl.run(BlueprintContainerImpl.java:276)[18:org.apache.aries.blueprint.core:1.7.1]
    at org.apache.aries.blueprint.container.BlueprintExtender.createContainer(BlueprintExtender.java:300)[18:org.apache.aries.blueprint.core:1.7.1]
    at org.apache.aries.blueprint.container.BlueprintExtender.createContainer(BlueprintExtender.java:269)[18:org.apache.aries.blueprint.core:1.7.1]
    at org.apache.aries.blueprint.container.BlueprintExtender.createContainer(BlueprintExtender.java:265)[18:org.apache.aries.blueprint.core:1.7.1]
    at org.apache.aries.blueprint.container.BlueprintExtender.modifiedBundle(BlueprintExtender.java:255)[18:org.apache.aries.blueprint.core:1.7.1]
    at org.apache.aries.util.tracker.hook.BundleHookBundleTracker$Tracked.customizerModified(BundleHookBundleTracker.java:500)[12:org.apache.aries.util:1.1.0]
    at org.apache.aries.util.tracker.hook.BundleHookBundleTracker$Tracked.customizerModified(BundleHookBundleTracker.java:433)[12:org.apache.aries.util:1.1.0]
    at org.apache.aries.util.tracker.hook.BundleHookBundleTracker$AbstractTracked.track(BundleHookBundleTracker.java:725)[12:org.apache.aries.util:1.1.0]
    at org.apache.aries.util.tracker.hook.BundleHookBundleTracker$Tracked.bundleChanged(BundleHookBundleTracker.java:463)[12:org.apache.aries.util:1.1.0]
    at org.apache.aries.util.tracker.hook.BundleHookBundleTracker$BundleEventHook.event(BundleHookBundleTracker.java:422)[12:org.apache.aries.util:1.1.0]
    at org.apache.felix.framework.util.SecureAction.invokeBundleEventHook(SecureAction.java:1127)[org.apache.felix.framework-4.4.1.jar:]
    at org.apache.felix.framework.util.EventDispatcher.createWhitelistFromHooks(EventDispatcher.java:696)[org.apache.felix.framework-4.4.1.jar:]
    at org.apache.felix.framework.util.EventDispatcher.fireBundleEvent(EventDispatcher.java:484)[org.apache.felix.framework-4.4.1.jar:]
    at org.apache.felix.framework.Felix.fireBundleEvent(Felix.java:4429)[org.apache.felix.framework-4.4.1.jar:]
    at org.apache.felix.framework.Felix.startBundle(Felix.java:2100)[org.apache.felix.framework-4.4.1.jar:]
    at org.apache.felix.framework.BundleImpl.start(BundleImpl.java:976)[org.apache.felix.framework-4.4.1.jar:]
    at org.apache.felix.framework.BundleImpl.start(BundleImpl.java:963)[org.apache.felix.framework-4.4.1.jar:]
    at io.fabric8.agent.service.Agent$BaseDeployCallback.startBundle(Agent.java:482)[88:io.fabric8.fabric-agent:1.2.0.redhat-630262]
    at io.fabric8.agent.service.Deployer$3.call(Deployer.java:968)[88:io.fabric8.fabric-agent:1.2.0.redhat-630262]
    at io.fabric8.agent.service.Deployer$3.call(Deployer.java:963)[88:io.fabric8.fabric-agent:1.2.0.redhat-630262]
    at java.util.concurrent.FutureTask.run(FutureTask.java:262)[:1.7.0_79]
    at java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1145)[:1.7.0_79]
    at java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:615)[:1.7.0_79]
    at java.lang.Thread.run(Thread.java:745)[:1.7.0_79]
Caused by: org.osgi.service.blueprint.container.ComponentDefinitionException: Unable to find property descriptor URL on class com.mysql.jdbc.jdbc2.optional.MysqlXADataSource
    at org.apache.aries.blueprint.container.BeanRecipe.getPropertyDescriptor(BeanRecipe.java:976)[18:org.apache.aries.blueprint.core:1.7.1]
    at org.apache.aries.blueprint.container.BeanRecipe.setProperty(BeanRecipe.java:958)[18:org.apache.aries.blueprint.core:1.7.1]
    at org.apache.aries.blueprint.container.BeanRecipe.setProperties(BeanRecipe.java:929)[18:org.apache.aries.blueprint.core:1.7.1]
    at org.apache.aries.blueprint.container.BeanRecipe.setProperties(BeanRecipe.java:910)[18:org.apache.aries.blueprint.core:1.7.1]
    at org.apache.aries.blueprint.container.BeanRecipe.internalCreate2(BeanRecipe.java:844)[18:org.apache.aries.blueprint.core:1.7.1]
    at org.apache.aries.blueprint.container.BeanRecipe.internalCreate(BeanRecipe.java:811)[18:org.apache.aries.blueprint.core:1.7.1]
    at org.apache.aries.blueprint.di.AbstractRecipe$1.call(AbstractRecipe.java:79)[18:org.apache.aries.blueprint.core:1.7.1]
    at java.util.concurrent.FutureTask.run(FutureTask.java:262)[:1.7.0_79]
    at org.apache.aries.blueprint.di.AbstractRecipe.create(AbstractRecipe.java:88)[18:org.apache.aries.blueprint.core:1.7.1]
    at org.apache.aries.blueprint.di.RefRecipe.internalCreate(RefRecipe.java:62)[18:org.apache.aries.blueprint.core:1.7.1]
    at org.apache.aries.blueprint.di.AbstractRecipe.create(AbstractRecipe.java:106)[18:org.apache.aries.blueprint.core:1.7.1]
    at org.apache.aries.blueprint.container.ServiceRecipe.createService(ServiceRecipe.java:285)[18:org.apache.aries.blueprint.core:1.7.1]
    ... 33 more
2017-08-22 15:10:27,072 | WARN  | loyer-3-thread-1 | BeanRecipe                       | 18 - org.apache.aries.blueprint.core - 1.7.1 | Object to be destroyed is not an instance of UnwrapperedBeanHolder, type: null

Environment

  • Red Hat JBoss Fuse 6.3

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