[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, tools, and much more.