[Fabric] Getting "Could not connect to broker URL: discovery:(fabric:default)" at container start-up when activating my Camel route
Issue
- Upon Fabric container start-up the Camel routes that use the Fabric discovery transport, e.g.
discovery:(fabric:default)to connect to an external broker fail to start. - Fabric container does not start correctly and raises
Failed to create ConnectionAndWrapperNamedXAResource, Could not connect to broker URL: discovery:(fabric:masterslave). Reason: java.lang.NullPointerException[1] - Camel route running in Fabric managed container does not start correctly and raises
Failed to create ConnectionAndWrapperNamedXAResource, Could not create Transport. Reason: java.io.IOException: Transport scheme NOT recognized: [discovery][2]
[1] Full error and call stack:
2018-07-06 08:51:55,459 | ERROR | FelixStartLevel | GenericResourceManager | 721 - org.apache.activemq.activemq-osgi - 5.11.0.redhat-630347 | Failed to create ConnectionAndWrapperNamedXAResource, Could not connect to broker URL: discovery:(fabric:masterslave). Reason: java.lang.NullPointerException
javax.transaction.SystemException: Failed to create ConnectionAndWrapperNamedXAResource, Could not connect to broker URL: discovery:(fabric:masterslave). Reason: java.lang.NullPointerException
at org.apache.activemq.jms.pool.GenericResourceManager$Recovery$1.getNamedXAResource(GenericResourceManager.java:166)
at org.apache.geronimo.transaction.manager.RecoverTask.run(RecoverTask.java:49)
at org.apache.geronimo.transaction.manager.TransactionManagerImpl.registerNamedXAResourceFactory(TransactionManagerImpl.java:353)
at Proxye81454e2_f59f_4089_8d5f_69780c519278.registerNamedXAResourceFactory(Unknown Source)
at org.apache.activemq.jms.pool.GenericResourceManager$Recovery.recover(GenericResourceManager.java:144)
at org.apache.activemq.jms.pool.GenericResourceManager.recoverResource(GenericResourceManager.java:77)
at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)[:1.8.0_171]
at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:62)[:1.8.0_171]
at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43)[:1.8.0_171]
at java.lang.reflect.Method.invoke(Method.java:498)[:1.8.0_171]
at org.apache.aries.blueprint.utils.ReflectionUtils.invoke(ReflectionUtils.java:299)[490:org.apache.aries.blueprint.core:1.8.0]
at org.apache.aries.blueprint.container.BeanRecipe.invoke(BeanRecipe.java:980)[490:org.apache.aries.blueprint.core:1.8.0]
at org.apache.aries.blueprint.container.BeanRecipe.runBeanProcInit(BeanRecipe.java:736)[490:org.apache.aries.blueprint.core:1.8.0]
at org.apache.aries.blueprint.container.BeanRecipe.internalCreate2(BeanRecipe.java:848)[490:org.apache.aries.blueprint.core:1.8.0]
at org.apache.aries.blueprint.container.BeanRecipe.internalCreate(BeanRecipe.java:811)[490:org.apache.aries.blueprint.core:1.8.0]
at org.apache.aries.blueprint.di.AbstractRecipe$1.call(AbstractRecipe.java:79)[490:org.apache.aries.blueprint.core:1.8.0]
at java.util.concurrent.FutureTask.run(FutureTask.java:266)[:1.8.0_171]
at org.apache.aries.blueprint.di.AbstractRecipe.create(AbstractRecipe.java:88)[490:org.apache.aries.blueprint.core:1.8.0]
at org.apache.aries.blueprint.container.BlueprintRepository.createInstances(BlueprintRepository.java:255)[490:org.apache.aries.blueprint.core:1.8.0]
at org.apache.aries.blueprint.container.BlueprintRepository.createAll(BlueprintRepository.java:186)[490:org.apache.aries.blueprint.core:1.8.0]
at org.apache.aries.blueprint.container.BlueprintContainerImpl.instantiateEagerComponents(BlueprintContainerImpl.java:725)[490:org.apache.aries.blueprint.core:1.8.0]
at org.apache.aries.blueprint.container.BlueprintContainerImpl.doRun(BlueprintContainerImpl.java:412)[490:org.apache.aries.blueprint.core:1.8.0]
at org.apache.aries.blueprint.container.BlueprintContainerImpl.run(BlueprintContainerImpl.java:277)[490:org.apache.aries.blueprint.core:1.8.0]
at org.apache.aries.blueprint.container.BlueprintExtender.createContainer(BlueprintExtender.java:300)[490:org.apache.aries.blueprint.core:1.8.0]
at org.apache.aries.blueprint.container.BlueprintExtender.createContainer(BlueprintExtender.java:269)[490:org.apache.aries.blueprint.core:1.8.0]
at org.apache.aries.blueprint.container.BlueprintExtender.createContainer(BlueprintExtender.java:265)[490:org.apache.aries.blueprint.core:1.8.0]
at org.apache.aries.blueprint.container.BlueprintExtender.modifiedBundle(BlueprintExtender.java:255)[490:org.apache.aries.blueprint.core:1.8.0]
at org.apache.aries.util.tracker.hook.BundleHookBundleTracker$Tracked.customizerModified(BundleHookBundleTracker.java:500)[490:org.apache.aries.blueprint.core:1.8.0]
at org.apache.aries.util.tracker.hook.BundleHookBundleTracker$Tracked.customizerModified(BundleHookBundleTracker.java:433)[490:org.apache.aries.blueprint.core:1.8.0]
at org.apache.aries.util.tracker.hook.BundleHookBundleTracker$AbstractTracked.track(BundleHookBundleTracker.java:725)[490:org.apache.aries.blueprint.core:1.8.0]
at org.apache.aries.util.tracker.hook.BundleHookBundleTracker$Tracked.bundleChanged(BundleHookBundleTracker.java:463)[490:org.apache.aries.blueprint.core:1.8.0]
at org.apache.aries.util.tracker.hook.BundleHookBundleTracker$BundleEventHook.event(BundleHookBundleTracker.java:422)[490:org.apache.aries.blueprint.core:1.8.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.Felix.setActiveStartLevel(Felix.java:1299)[org.apache.felix.framework-4.4.1.jar:]
at org.apache.felix.framework.FrameworkStartLevelImpl.run(FrameworkStartLevelImpl.java:304)[org.apache.felix.framework-4.4.1.jar:]
at java.lang.Thread.run(Thread.java:748)[:1.8.0_171]
Caused by: javax.jms.JMSException: Could not connect to broker URL: discovery:(fabric:masterslave). Reason: java.lang.NullPointerException
at org.apache.activemq.util.JMSExceptionSupport.create(JMSExceptionSupport.java:36)
at org.apache.activemq.ActiveMQConnectionFactory.createActiveMQConnection(ActiveMQConnectionFactory.java:358)
at org.apache.activemq.ActiveMQConnectionFactory.createActiveMQConnection(ActiveMQConnectionFactory.java:303)
at org.apache.activemq.ActiveMQXAConnectionFactory.createXAConnection(ActiveMQXAConnectionFactory.java:60)
at org.apache.activemq.jms.pool.GenericResourceManager$Recovery$1.getNamedXAResource(GenericResourceManager.java:158)
... 39 more
Caused by: java.lang.NullPointerException
at org.osgi.util.tracker.ServiceTracker.<init>(ServiceTracker.java:184)[karaf.jar:2.4.0.redhat-630347]
at org.osgi.util.tracker.ServiceTracker.<init>(ServiceTracker.java:247)[karaf.jar:2.4.0.redhat-630347]
at io.fabric8.groups.internal.OsgiManagedGroupFactory$OsgiTrackingManagedGroupFactory.<init>(OsgiManagedGroupFactory.java:92)
at io.fabric8.groups.internal.OsgiManagedGroupFactory$OsgiTrackingManagedGroupFactory.<init>(OsgiManagedGroupFactory.java:80)
at io.fabric8.groups.internal.OsgiManagedGroupFactory.<init>(OsgiManagedGroupFactory.java:39)
at io.fabric8.groups.internal.ManagedGroupFactoryBuilder.create(ManagedGroupFactoryBuilder.java:34)
at io.fabric8.mq.fabric.discovery.FabricDiscoveryAgent.initGroupFactory(FabricDiscoveryAgent.java:333)
at io.fabric8.mq.fabric.discovery.FabricDiscoveryAgent.getGroup(FabricDiscoveryAgent.java:307)
at io.fabric8.mq.fabric.discovery.FabricDiscoveryAgent.start(FabricDiscoveryAgent.java:206)
at org.apache.activemq.transport.discovery.DiscoveryTransport.start(DiscoveryTransport.java:63)
at org.apache.activemq.transport.TransportFilter.start(TransportFilter.java:58)
at org.apache.activemq.transport.TransportFilter.start(TransportFilter.java:58)
at org.apache.activemq.ActiveMQConnectionFactory.createActiveMQConnection(ActiveMQConnectionFactory.java:338)
... 42 more
[2] Full error and call stack
2018-07-06 14:04:29,049 | ERROR | RetryTimer | GenericResourceManager | 836 - org.apache.activemq.activemq-osgi - 5.11.0.redhat-630347 | Failed to create ConnectionAndWrapperNamedXAResource, Could not create Transport. Reason: java.io.IOException: Transport scheme NOT recognized: [discovery]
javax.transaction.SystemException: Failed to create ConnectionAndWrapperNamedXAResource, Could not create Transport. Reason: java.io.IOException: Transport scheme NOT recognized: [discovery]
at org.apache.activemq.jms.pool.GenericResourceManager$Recovery$1.getNamedXAResource(GenericResourceManager.java:166)[836:org.apache.activemq.activemq-osgi:5.11.0.redhat-630347]
at org.apache.geronimo.transaction.manager.RecoverTask.run(RecoverTask.java:49)[844:org.apache.aries.transaction.manager:1.3.3]
at org.apache.geronimo.transaction.manager.ExponentialtIntervalRetryScheduler$TaskWrapper.run(ExponentialtIntervalRetryScheduler.java:50)[844:org.apache.aries.transaction.manager:1.3.3]
at java.util.TimerThread.mainLoop(Timer.java:555)[:1.8.0_171]
at java.util.TimerThread.run(Timer.java:505)[:1.8.0_171]
Caused by: javax.jms.JMSException: Could not create Transport. Reason: java.io.IOException: Transport scheme NOT recognized: [discovery]
at org.apache.activemq.util.JMSExceptionSupport.create(JMSExceptionSupport.java:36)[836:org.apache.activemq.activemq-osgi:5.11.0.redhat-630347]
at org.apache.activemq.ActiveMQConnectionFactory.createTransport(ActiveMQConnectionFactory.java:317)[836:org.apache.activemq.activemq-osgi:5.11.0.redhat-630347]
at org.apache.activemq.ActiveMQConnectionFactory.createActiveMQConnection(ActiveMQConnectionFactory.java:330)[836:org.apache.activemq.activemq-osgi:5.11.0.redhat-630347]
at org.apache.activemq.ActiveMQConnectionFactory.createActiveMQConnection(ActiveMQConnectionFactory.java:303)[836:org.apache.activemq.activemq-osgi:5.11.0.redhat-630347]
at org.apache.activemq.ActiveMQXAConnectionFactory.createXAConnection(ActiveMQXAConnectionFactory.java:60)[836:org.apache.activemq.activemq-osgi:5.11.0.redhat-630347]
at org.apache.activemq.jms.pool.GenericResourceManager$Recovery$1.getNamedXAResource(GenericResourceManager.java:158)[836:org.apache.activemq.activemq-osgi:5.11.0.redhat-630347]
... 4 more
Caused by: java.io.IOException: Transport scheme NOT recognized: [discovery]
at org.apache.activemq.util.IOExceptionSupport.create(IOExceptionSupport.java:28)[836:org.apache.activemq.activemq-osgi:5.11.0.redhat-630347]
at org.apache.activemq.transport.TransportFactory.findTransportFactory(TransportFactory.java:182)[836:org.apache.activemq.activemq-osgi:5.11.0.redhat-630347]
at org.apache.activemq.transport.TransportFactory.connect(TransportFactory.java:64)[836:org.apache.activemq.activemq-osgi:5.11.0.redhat-630347]
at org.apache.activemq.ActiveMQConnectionFactory.createTransport(ActiveMQConnectionFactory.java:315)[836:org.apache.activemq.activemq-osgi:5.11.0.redhat-630347]
... 8 more
Caused by: java.io.IOException: Service not found: 'META-INF/services/org/apache/activemq/transport/discovery'
at org.apache.activemq.util.osgi.Activator.create(Activator.java:179)[836:org.apache.activemq.activemq-osgi:5.11.0.redhat-630347]
at org.apache.activemq.util.FactoryFinder.newInstance(FactoryFinder.java:148)[836:org.apache.activemq.activemq-osgi:5.11.0.redhat-630347]
at org.apache.activemq.transport.TransportFactory.findTransportFactory(TransportFactory.java:179)[836:org.apache.activemq.activemq-osgi:5.11.0.redhat-630347]
... 10 more
Environment
- JBoss Fuse 6.3
- R8 but likely also on other patch levels
- Fabric managed containers
- Camel route connecting to external A-MQ broker via discovery transport
- e.g.
discovery:(fabric:default)
- e.g.
Subscriber exclusive content
A Red Hat subscription provides unlimited access to our knowledgebase of over 48,000 articles and solutions.
Welcome! Check out the Getting Started with Red Hat page for quick tours and guides for common tasks.
