Re: ActiveMQ problems

657 views
Skip to first unread message
Message has been deleted

Chris Holly

unread,
Mar 13, 2018, 6:36:04 AM3/13/18
to A gathering place for the Open Rail Data community
Hi Samuel,

I am no expert and I have not used this bridge for over 1+ year but this seems to be your problem:

nested exception is java.lang.NoClassDefFoundError: javax/xml/bind/JAXBException

I don't remember having to add any extra dependencies to make this work for me but after a quick google with the above error message it seems that many people are running into issues if they are trying to use JDK 9. Either use Java 8 JDK or if you do need to use Java 9 then you need to add extra configuration to get it to work.



On Tuesday, 13 March 2018 08:50:35 UTC, Samuel Johnston wrote:
Hello,

I am trying to setup ActiveMQ on Linux for the first time by following the instructions on this page: https://nrodwiki.rockshore.net/index.php/Advanced_Uses
After having configured my camel.xml file, I am getting an error when I start ActiveMQ:
2018-03-12 20:35:11,110 | INFO  | Refreshing org.apache.activemq.xbean.XBeanBrokerFactory$1@4659191b: startup date [Mon Mar 12 20:35:11 UTC 2018]; root of context hierarchy | org.apache.activemq.xbean.XBeanBrokerFactory$1 | main
2018-03-12 20:35:14,297 | ERROR | Failed to load: class path resource [activemq.xml], reason: Unexpected exception parsing XML document from class path resource [camel.xml]; nested exception is org.springframework.beans.FatalBeanException: Invalid NamespaceHandler class [org.apache.camel.spring.handler.CamelNamespaceHandler] for namespace [http://camel.apache.org/schema/spring]: problem with handler class file or dependent class; nested exception is java.lang.NoClassDefFoundError: javax/xml/bind/JAXBException | org.apache.activemq.xbean.XBeanBrokerFactory | main
org.springframework.beans.factory.BeanDefinitionStoreException: Unexpected exception parsing XML document from class path resource [camel.xml]; nested exception is org.springframework.beans.FatalBeanException: Invalid NamespaceHandler class [org.apache.camel.spring.handler.CamelNamespaceHandler] for namespace [http://camel.apache.org/schema/spring]: problem with handler class file or dependent class; nested exception is java.lang.NoClassDefFoundError: javax/xml/bind/JAXBException
        at org.springframework.beans.factory.xml.XmlBeanDefinitionReader.doLoadBeanDefinitions(XmlBeanDefinitionReader.java:414)[spring-beans-4.3.9.RELEASE.jar:4.3.9.RELEASE]
        at org.springframework.beans.factory.xml.XmlBeanDefinitionReader.loadBeanDefinitions(XmlBeanDefinitionReader.java:336)[spring-beans-4.3.9.RELEASE.jar:4.3.9.RELEASE]
        at org.springframework.beans.factory.xml.XmlBeanDefinitionReader.loadBeanDefinitions(XmlBeanDefinitionReader.java:304)[spring-beans-4.3.9.RELEASE.jar:4.3.9.RELEASE]
        at org.apache.xbean.spring.context.v2.XBeanBeanDefinitionDocumentReader.importBeanDefinitionResource(XBeanBeanDefinitionDocumentReader.java:129)[xbean-spring-4.2.jar:4.2]
        at org.apache.xbean.spring.context.v2.XBeanBeanDefinitionDocumentReader.parseDefaultElement(XBeanBeanDefinitionDocumentReader.java:95)[xbean-spring-4.2.jar:4.2]
        at org.apache.xbean.spring.context.v2.XBeanBeanDefinitionDocumentReader.parseBeanDefinitions(XBeanBeanDefinitionDocumentReader.java:81)[xbean-spring-4.2.jar:4.2]
        at org.springframework.beans.factory.xml.DefaultBeanDefinitionDocumentReader.doRegisterBeanDefinitions(DefaultBeanDefinitionDocumentReader.java:142)[spring-beans-4.3.9.RELEASE.jar:4.3.9.RELEASE]
        at org.springframework.beans.factory.xml.DefaultBeanDefinitionDocumentReader.registerBeanDefinitions(DefaultBeanDefinitionDocumentReader.java:94)[spring-beans-4.3.9.RELEASE.jar:4.3.9.RELEASE]
        at org.springframework.beans.factory.xml.XmlBeanDefinitionReader.registerBeanDefinitions(XmlBeanDefinitionReader.java:508)[spring-beans-4.3.9.RELEASE.jar:4.3.9.RELEASE]
        at org.apache.xbean.spring.context.v2.XBeanXmlBeanDefinitionReader.registerBeanDefinitions(XBeanXmlBeanDefinitionReader.java:79)[xbean-spring-4.2.jar:4.2]
        at org.springframework.beans.factory.xml.XmlBeanDefinitionReader.doLoadBeanDefinitions(XmlBeanDefinitionReader.java:392)[spring-beans-4.3.9.RELEASE.jar:4.3.9.RELEASE]
        at org.springframework.beans.factory.xml.XmlBeanDefinitionReader.loadBeanDefinitions(XmlBeanDefinitionReader.java:336)[spring-beans-4.3.9.RELEASE.jar:4.3.9.RELEASE]
        at org.springframework.beans.factory.xml.XmlBeanDefinitionReader.loadBeanDefinitions(XmlBeanDefinitionReader.java:304)[spring-beans-4.3.9.RELEASE.jar:4.3.9.RELEASE]
        at org.apache.xbean.spring.context.ResourceXmlApplicationContext.loadBeanDefinitions(ResourceXmlApplicationContext.java:111)[xbean-spring-4.2.jar:4.2]
        at org.apache.xbean.spring.context.ResourceXmlApplicationContext.loadBeanDefinitions(ResourceXmlApplicationContext.java:104)[xbean-spring-4.2.jar:4.2]
        at org.springframework.context.support.AbstractRefreshableApplicationContext.refreshBeanFactory(AbstractRefreshableApplicationContext.java:129)[spring-context-4.3.9.RELEASE.jar:4.3.9.RELEASE]
        at org.springframework.context.support.AbstractApplicationContext.obtainFreshBeanFactory(AbstractApplicationContext.java:614)[spring-context-4.3.9.RELEASE.jar:4.3.9.RELEASE]
        at org.springframework.context.support.AbstractApplicationContext.refresh(AbstractApplicationContext.java:515)[spring-context-4.3.9.RELEASE.jar:4.3.9.RELEASE]
        at org.apache.xbean.spring.context.ResourceXmlApplicationContext.<init>(ResourceXmlApplicationContext.java:64)[xbean-spring-4.2.jar:4.2]
        at org.apache.xbean.spring.context.ResourceXmlApplicationContext.<init>(ResourceXmlApplicationContext.java:52)[xbean-spring-4.2.jar:4.2]
        at org.apache.activemq.xbean.XBeanBrokerFactory$1.<init>(XBeanBrokerFactory.java:104)[activemq-spring-5.15.3.jar:5.15.3]
        at org.apache.activemq.xbean.XBeanBrokerFactory.createApplicationContext(XBeanBrokerFactory.java:104)[activemq-spring-5.15.3.jar:5.15.3]
        at org.apache.activemq.xbean.XBeanBrokerFactory.createBroker(XBeanBrokerFactory.java:67)[activemq-spring-5.15.3.jar:5.15.3]
        at org.apache.activemq.broker.BrokerFactory.createBroker(BrokerFactory.java:71)[activemq-broker-5.15.3.jar:5.15.3]
        at org.apache.activemq.broker.BrokerFactory.createBroker(BrokerFactory.java:54)[activemq-broker-5.15.3.jar:5.15.3]
        at org.apache.activemq.console.command.StartCommand.runTask(StartCommand.java:87)[activemq-console-5.15.3.jar:5.15.3]
        at org.apache.activemq.console.command.AbstractCommand.execute(AbstractCommand.java:63)[activemq-console-5.15.3.jar:5.15.3]
        at org.apache.activemq.console.command.ShellCommand.runTask(ShellCommand.java:154)[activemq-console-5.15.3.jar:5.15.3]
        at org.apache.activemq.console.command.AbstractCommand.execute(AbstractCommand.java:63)[activemq-console-5.15.3.jar:5.15.3]
        at org.apache.activemq.console.command.ShellCommand.main(ShellCommand.java:104)[activemq-console-5.15.3.jar:5.15.3]
        at java.base/jdk.internal.reflect.NativeMethodAccessorImpl.invoke0(Native Method)[:]
        at java.base/jdk.internal.reflect.NativeMethodAccessorImpl.invoke(Unknown Source)[:]
        at java.base/jdk.internal.reflect.DelegatingMethodAccessorImpl.invoke(Unknown Source)[:]
        at java.base/java.lang.reflect.Method.invoke(Unknown Source)[:]
        at org.apache.activemq.console.Main.runTaskClass(Main.java:262)[activemq.jar:5.15.3]
        at org.apache.activemq.console.Main.main(Main.java:115)[activemq.jar:5.15.3]


Here is my camel.xml file (with my login data taken out):
<?xml version="1.0"?>

<camelContext xmlns="http://camel.apache.org/schema/spring" id="camel">
<route>
<from uri="networkrail:topic:TD_ALL_SIG_AREA?clientId=my@email.com-td&amp;durableSubscriptionName=m...@email.com"/>
<to uri="amq:topic:TD_ALL_SIG_AREA"/>
</route>
</camelContext>

<bean id="amq" class="org.apache.activemq.camel.component.ActiveMQComponent">
<property name="brokerURL" value="tcp://localhost:61616"/>
</bean>
  
<bean id="networkrail" class="org.apache.activemq.camel.component.ActiveMQComponent">
<property name="brokerURL" value="tcp://datafeeds.networkrail.co.uk:61619"/>
<property name="userName" value="m...@email.com"/>
<property name="password" value="mypassword"/>
</bean>
</beans>

And I have also added the following line to my activemq.xml file
<import resource="camel.xml"/>

Does anyone have any ideas as to what is going on and how I can fix this?

Thanks
-Samuel Johnston

petermount

unread,
Mar 13, 2018, 7:05:42 AM3/13/18
to A gathering place for the Open Rail Data community
Yes, as of JDK 9 the Java EE api's have been removed. One fix is to use JDK8 but if you need to use JDK 9 (or JDK 10 when it's released next week) you need to add them to the classpath.

In theory it's add the missing modules --add-modules java.xml.bind - not tried that myself as I've not migrated yet.

Reply all
Reply to author
Forward
Message has been deleted
0 new messages