From the log it seems your blueprint starts up before the service is registered. Since Camel does not know directly about the dependency you might try the following: Let your blueprint import a javax.sql.DataSource service, then it won't start up before one is avaiable e.g. with

  <reference  id="wait-for-service"interface="javax.sql.DataSource"/>

that will make your bundle wait for at least one DatasourceService (you might want to adjust the interface if pax-jdbc registers a different one, havent checked that...).

Beside that you should check if camel can even use those fetched service as a datasource instead of JNDI because that might create issues if the service changes while blueprint keeps track of those changes.

Am 30.08.2017 11:46, schrieb karsten.bl...@hermes-ottoint.com:
full Stack Trace for exception and log excerpt
datasources.osgi includes the pax-jdbc config files in live, for test the additional pax-jdbc bundles for derby and config files are added in the PaxExam configure() method The only strange thing i see now is that the "Creating DataSource" log message is after the JNDI search by "org.apache.aries.jpa.container".
Might this be the cause? And how to change?

...
2017-08-30 11:26:42,770 | INFO | FelixStartLevel | res.internal.FeaturesServiceImpl | Installing feature datasources.osgi 17.32.2-SNAPSHOT | bcid: exchange: msgid: 2017-08-30 11:26:42,770 | INFO | FelixStartLevel | res.internal.FeaturesServiceImpl | Installing feature camel-jdbc 2.16.3 | bcid: exchange: msgid: 2017-08-30 11:26:42,772 | INFO | FelixStartLevel | res.internal.FeaturesServiceImpl | Installing feature pax-jdbc-config 0.9.0 | bcid: exchange: msgid: 2017-08-30 11:26:42,772 | INFO | FelixStartLevel | res.internal.FeaturesServiceImpl | Installing feature pax-jdbc-spec 0.9.0 | bcid: exchange: msgid: 2017-08-30 11:26:42,776 | INFO | FelixStartLevel | res.internal.FeaturesServiceImpl | Installing feature pax-jdbc-postgresql 0.9.0 | bcid: exchange: msgid: 2017-08-30 11:26:42,777 | INFO | FelixStartLevel | res.internal.FeaturesServiceImpl | Installing feature pax-jdbc-pool-dbcp2 0.9.0 | bcid: exchange: msgid:

....

2017-08-30 11:26:44,968 | INFO | FelixStartLevel | res.internal.FeaturesServiceImpl | Installing feature pax-jdbc-derby 0.9.0 | bcid: exchange: msgid: 2017-08-30 11:26:44,968 | INFO | FelixStartLevel | res.internal.FeaturesServiceImpl | Installing feature pax-jdbc-spec 0.9.0 | bcid: exchange: msgid:
....
2017-08-30 11:27:04,677 | INFO | Factory Update: factoryPid=[org.ops4j.datasource]) | nfig.impl.DataSourceRegistration | Detected config for DataSource jdbc/scv. Tracking DSF with filter (&(objectClass=org.osgi.service.jdbc.DataSourceFactory)(osgi.jdbc.driver.name=derby-pool)) | bcid: exchange: msgid: 2017-08-30 11:27:05,343 | INFO | Factory Update: factoryPid=[org.ops4j.datasource]) | nfig.impl.DataSourceRegistration | Detected config for DataSource jdbc/scv_xa. Tracking DSF with filter (&(objectClass=org.osgi.service.jdbc.DataSourceFactory)(osgi.jdbc.driver.name=derby-pool-xa)) | bcid: exchange: msgid:
...

2017-08-30 11:27:27,421 | INFO | FelixStartLevel | openjpa.Runtime | Starting OpenJPA 2.2.2 | bcid: exchange: msgid: 2017-08-30 11:27:27,482 | ERROR | FelixStartLevel | org.apache.aries.jpa.container | The DataSource osgi:service/javax.sql.DataSource/(osgi.jndi.service.name=jdbc/scv_xa) required by bundle UNDERTEST/17.32.2.SNAPSHOT could not be found. | bcid: exchange: msgid: javax.naming.NameNotFoundException: osgi:service/javax.sql.DataSource/"(osgi.jndi.service.name=jdbc/scv_xa)" at org.apache.aries.jndi.url.ServiceRegistryContext.lookup(ServiceRegistryContext.java:113) at org.apache.aries.jndi.url.ServiceRegistryContext.lookup(ServiceRegistryContext.java:138) at org.apache.aries.jndi.DelegateContext.lookup(DelegateContext.java:161)
    at javax.naming.InitialContext.lookup(InitialContext.java:417)
at org.apache.aries.jpa.container.unit.impl.JndiDataSource.getDs(JndiDataSource.java:66) at org.apache.aries.jpa.container.unit.impl.DelayedLookupDataSource.getConnection(DelayedLookupDataSource.java:36) at org.apache.openjpa.lib.jdbc.DelegatingDataSource.getConnection(DelegatingDataSource.java:110) at org.apache.openjpa.lib.jdbc.DecoratingDataSource.getConnection(DecoratingDataSource.java:87) at org.apache.openjpa.jdbc.sql.DBDictionaryFactory.newDBDictionary(DBDictionaryFactory.java:91) at org.apache.openjpa.jdbc.conf.JDBCConfigurationImpl.getDBDictionaryInstance(JDBCConfigurationImpl.java:603) at org.apache.openjpa.jdbc.meta.MappingRepository.endConfiguration(MappingRepository.java:1518) at org.apache.openjpa.lib.conf.Configurations.configureInstance(Configurations.java:531) at org.apache.openjpa.lib.conf.Configurations.configureInstance(Configurations.java:456) at org.apache.openjpa.lib.conf.PluginValue.instantiate(PluginValue.java:120) at org.apache.openjpa.conf.MetaDataRepositoryValue.instantiate(MetaDataRepositoryValue.java:68) at org.apache.openjpa.lib.conf.ObjectValue.instantiate(ObjectValue.java:83) at org.apache.openjpa.conf.OpenJPAConfigurationImpl.newMetaDataRepositoryInstance(OpenJPAConfigurationImpl.java:967) at org.apache.openjpa.conf.OpenJPAConfigurationImpl.getMetaDataRepositoryInstance(OpenJPAConfigurationImpl.java:958) at org.apache.openjpa.kernel.AbstractBrokerFactory.makeReadOnly(AbstractBrokerFactory.java:644) at org.apache.openjpa.kernel.AbstractBrokerFactory.newBroker(AbstractBrokerFactory.java:203) at org.apache.openjpa.kernel.DelegatingBrokerFactory.newBroker(DelegatingBrokerFactory.java:156) at org.apache.openjpa.persistence.EntityManagerFactoryImpl.createEntityManager(EntityManagerFactoryImpl.java:227) at org.apache.openjpa.persistence.EntityManagerFactoryImpl.createEntityManager(EntityManagerFactoryImpl.java:154) at org.apache.openjpa.persistence.EntityManagerFactoryImpl.createEntityManager(EntityManagerFactoryImpl.java:60)
    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:497)
at org.apache.aries.jpa.container.impl.QuiesceEMFHandler.invoke(QuiesceEMFHandler.java:57)
    at com.sun.proxy.$Proxy20.createEntityManager(Unknown Source)
at Proxy427db9a9_7d82_4c6b_813a_8f985fdc14d1.createEntityManager(Unknown Source) at org.apache.camel.component.jpa.JpaConsumer.doStart(JpaConsumer.java:518) at org.apache.camel.support.ServiceSupport.start(ServiceSupport.java:61) at org.apache.camel.impl.DefaultCamelContext.startService(DefaultCamelContext.java:3234) at org.apache.camel.impl.DefaultCamelContext.doStartOrResumeRouteConsumers(DefaultCamelContext.java:3528) at org.apache.camel.impl.DefaultCamelContext.doStartRouteConsumers(DefaultCamelContext.java:3464) at org.apache.camel.impl.DefaultCamelContext.safelyStartRouteServices(DefaultCamelContext.java:3394) at org.apache.camel.impl.DefaultCamelContext.doStartOrResumeRoutes(DefaultCamelContext.java:3162) at org.apache.camel.impl.DefaultCamelContext.doStartCamel(DefaultCamelContext.java:3018) at org.apache.camel.impl.DefaultCamelContext.access$000(DefaultCamelContext.java:175) at org.apache.camel.impl.DefaultCamelContext$2.call(DefaultCamelContext.java:2814) at org.apache.camel.impl.DefaultCamelContext$2.call(DefaultCamelContext.java:2810) at org.apache.camel.impl.DefaultCamelContext.doWithDefinedClassLoader(DefaultCamelContext.java:2833) at org.apache.camel.impl.DefaultCamelContext.doStart(DefaultCamelContext.java:2810) at org.apache.camel.support.ServiceSupport.start(ServiceSupport.java:61) at org.apache.camel.impl.DefaultCamelContext.start(DefaultCamelContext.java:2779) at org.apache.camel.blueprint.BlueprintCamelContext.start(BlueprintCamelContext.java:180) at org.apache.camel.blueprint.BlueprintCamelContext.maybeStart(BlueprintCamelContext.java:212) at org.apache.camel.blueprint.BlueprintCamelContext.serviceChanged(BlueprintCamelContext.java:150) at org.apache.felix.framework.util.EventDispatcher.invokeServiceListenerCallback(EventDispatcher.java:932) at org.apache.felix.framework.util.EventDispatcher.fireEventImmediately(EventDispatcher.java:793) at org.apache.felix.framework.util.EventDispatcher.fireServiceEvent(EventDispatcher.java:543)
    at org.apache.felix.framework.Felix.fireServiceEvent(Felix.java:4419)
    at org.apache.felix.framework.Felix.registerService(Felix.java:3423)
at org.apache.felix.framework.BundleContextImpl.registerService(BundleContextImpl.java:346) at org.apache.felix.framework.BundleContextImpl.registerService(BundleContextImpl.java:352) at org.apache.camel.blueprint.BlueprintCamelContext.init(BlueprintCamelContext.java:100)
    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:497)
at org.apache.aries.blueprint.utils.ReflectionUtils.invoke(ReflectionUtils.java:299) at org.apache.aries.blueprint.container.BeanRecipe.invoke(BeanRecipe.java:980) at org.apache.aries.blueprint.container.BeanRecipe.runBeanProcInit(BeanRecipe.java:736) at org.apache.aries.blueprint.container.BeanRecipe.internalCreate2(BeanRecipe.java:848) at org.apache.aries.blueprint.container.BeanRecipe.internalCreate(BeanRecipe.java:811) at org.apache.aries.blueprint.di.AbstractRecipe$1.call(AbstractRecipe.java:79)
    at java.util.concurrent.FutureTask.run(FutureTask.java:266)
at org.apache.aries.blueprint.di.AbstractRecipe.create(AbstractRecipe.java:88) at org.apache.aries.blueprint.container.BlueprintRepository.createInstances(BlueprintRepository.java:255) at org.apache.aries.blueprint.container.BlueprintRepository.createAll(BlueprintRepository.java:186) at org.apache.aries.blueprint.container.BlueprintContainerImpl.instantiateEagerComponents(BlueprintContainerImpl.java:724) at org.apache.aries.blueprint.container.BlueprintContainerImpl.doRun(BlueprintContainerImpl.java:411) at org.apache.aries.blueprint.container.BlueprintContainerImpl.run(BlueprintContainerImpl.java:276) at org.apache.aries.blueprint.container.BlueprintExtender.createContainer(BlueprintExtender.java:300) at org.apache.aries.blueprint.container.BlueprintExtender.createContainer(BlueprintExtender.java:269) at org.apache.aries.blueprint.container.BlueprintExtender.createContainer(BlueprintExtender.java:265) at org.apache.aries.blueprint.container.BlueprintExtender.modifiedBundle(BlueprintExtender.java:255) at org.apache.aries.util.tracker.hook.BundleHookBundleTracker$Tracked.customizerModified(BundleHookBundleTracker.java:500) at org.apache.aries.util.tracker.hook.BundleHookBundleTracker$Tracked.customizerModified(BundleHookBundleTracker.java:433) at org.apache.aries.util.tracker.hook.BundleHookBundleTracker$AbstractTracked.track(BundleHookBundleTracker.java:725) at org.apache.aries.util.tracker.hook.BundleHookBundleTracker$Tracked.bundleChanged(BundleHookBundleTracker.java:463) at org.apache.aries.util.tracker.hook.BundleHookBundleTracker$BundleEventHook.event(BundleHookBundleTracker.java:422) at org.apache.felix.framework.util.SecureAction.invokeBundleEventHook(SecureAction.java:1103) at org.apache.felix.framework.util.EventDispatcher.createWhitelistFromHooks(EventDispatcher.java:695) at org.apache.felix.framework.util.EventDispatcher.fireBundleEvent(EventDispatcher.java:483)
    at org.apache.felix.framework.Felix.fireBundleEvent(Felix.java:4403)
    at org.apache.felix.framework.Felix.startBundle(Felix.java:2092)
    at org.apache.felix.framework.BundleImpl.start(BundleImpl.java:955)
    at org.apache.felix.framework.BundleImpl.start(BundleImpl.java:942)
at org.apache.karaf.features.internal.FeaturesServiceImpl.startBundle(FeaturesServiceImpl.java:516) at org.apache.karaf.features.internal.FeaturesServiceImpl.installFeatures(FeaturesServiceImpl.java:474) at org.apache.karaf.features.internal.BootFeaturesInstaller.installBootFeatures(BootFeaturesInstaller.java:92) at org.apache.karaf.features.internal.BootFeaturesInstaller.start(BootFeaturesInstaller.java:76)
    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:497)
at org.apache.aries.blueprint.utils.ReflectionUtils.invoke(ReflectionUtils.java:299) at org.apache.aries.blueprint.container.BeanRecipe.invoke(BeanRecipe.java:980) at org.apache.aries.blueprint.container.BeanRecipe.runBeanProcInit(BeanRecipe.java:736) at org.apache.aries.blueprint.container.BeanRecipe.internalCreate2(BeanRecipe.java:848) at org.apache.aries.blueprint.container.BeanRecipe.internalCreate(BeanRecipe.java:811) at org.apache.aries.blueprint.di.AbstractRecipe$1.call(AbstractRecipe.java:79)
    at java.util.concurrent.FutureTask.run(FutureTask.java:266)
at org.apache.aries.blueprint.di.AbstractRecipe.create(AbstractRecipe.java:88) at org.apache.aries.blueprint.container.BlueprintRepository.createInstances(BlueprintRepository.java:255) at org.apache.aries.blueprint.container.BlueprintRepository.createAll(BlueprintRepository.java:186) at org.apache.aries.blueprint.container.BlueprintContainerImpl.instantiateEagerComponents(BlueprintContainerImpl.java:724) at org.apache.aries.blueprint.container.BlueprintContainerImpl.doRun(BlueprintContainerImpl.java:411) at org.apache.aries.blueprint.container.BlueprintContainerImpl.run(BlueprintContainerImpl.java:276) at org.apache.aries.blueprint.container.BlueprintExtender.createContainer(BlueprintExtender.java:300) at org.apache.aries.blueprint.container.BlueprintExtender.createContainer(BlueprintExtender.java:269) at org.apache.aries.blueprint.container.BlueprintExtender.createContainer(BlueprintExtender.java:265) at org.apache.aries.blueprint.container.BlueprintExtender.modifiedBundle(BlueprintExtender.java:255) at org.apache.aries.util.tracker.hook.BundleHookBundleTracker$Tracked.customizerModified(BundleHookBundleTracker.java:500) at org.apache.aries.util.tracker.hook.BundleHookBundleTracker$Tracked.customizerModified(BundleHookBundleTracker.java:433) at org.apache.aries.util.tracker.hook.BundleHookBundleTracker$AbstractTracked.track(BundleHookBundleTracker.java:725) at org.apache.aries.util.tracker.hook.BundleHookBundleTracker$Tracked.bundleChanged(BundleHookBundleTracker.java:463) at org.apache.aries.util.tracker.hook.BundleHookBundleTracker$BundleEventHook.event(BundleHookBundleTracker.java:422) at org.apache.felix.framework.util.SecureAction.invokeBundleEventHook(SecureAction.java:1103) at org.apache.felix.framework.util.EventDispatcher.createWhitelistFromHooks(EventDispatcher.java:695) at org.apache.felix.framework.util.EventDispatcher.fireBundleEvent(EventDispatcher.java:483)
    at org.apache.felix.framework.Felix.fireBundleEvent(Felix.java:4403)
    at org.apache.felix.framework.Felix.startBundle(Felix.java:2092)
at org.apache.felix.framework.Felix.setActiveStartLevel(Felix.java:1291) at org.apache.felix.framework.FrameworkStartLevelImpl.run(FrameworkStartLevelImpl.java:304)
    at java.lang.Thread.run(Thread.java:745)

...

2017-08-30 11:28:00,485 | INFO | FelixStartLevel | nfig.impl.DataSourceRegistration | Creating DataSource jdbc/scv | bcid: exchange: msgid: 2017-08-30 11:28:00,505 | INFO | FelixStartLevel | nfig.impl.DataSourceRegistration | Creating DataSource jdbc/scv_xa | bcid: exchange: msgid:


--
--
------------------
OPS4J - http://www.ops4j.org - ops4j@googlegroups.com

---
You received this message because you are subscribed to the Google Groups "OPS4J" group. To unsubscribe from this group and stop receiving emails from it, send an email to ops4j+unsubscr...@googlegroups.com <mailto:ops4j+unsubscr...@googlegroups.com>.
For more options, visit https://groups.google.com/d/optout.

--
--
------------------
OPS4J - http://www.ops4j.org - ops4j@googlegroups.com

--- You received this message because you are subscribed to the Google Groups "OPS4J" group.
To unsubscribe from this group and stop receiving emails from it, send an email 
to ops4j+unsubscr...@googlegroups.com.
For more options, visit https://groups.google.com/d/optout.

Reply via email to