I'm currently upgrading to the new ActiveMQ 6 (from 5.18.3 to 6.0.1).

I'm starting an embedded with the help of xbean:

https://activemq.apache.org/broker-xbean-uri

Using the " xbean:file:filePathResource ".

My code is like this:

//get the path of activemq.xml file
String brokerPath = brokerFile.getCanonicalPath();

//create the xbean broker uri
String brokerUrl = "xbean:file:" +
UrlEscapers.urlFragmentEscaper().escape(brokerPath);

 //create the broker with the xbean uri
 URI configurationUri = new URI(brokerUrl);
 broker = BrokerFactory.createBroker(configurationUri);


I however get a classnotfoundexception:

Caused by: java.lang.ClassNotFoundException:
org.apache.activemq.xbean.XBeanBrokerFactory
        at
java.base/jdk.internal.loader.BuiltinClassLoader.loadClass(BuiltinClassLoader.java:641)
        at
java.base/jdk.internal.loader.ClassLoaders$AppClassLoader.loadClass(ClassLoaders.java:188)
        at java.base/java.lang.ClassLoader.loadClass(ClassLoader.java:526)
        at
org.apache.activemq.util.FactoryFinder$StandaloneObjectFactory.loadClass(FactoryFinder.java:88)
        at
org.apache.activemq.util.FactoryFinder$StandaloneObjectFactory.create(FactoryFinder.java:61)
        at
org.apache.activemq.util.FactoryFinder.newInstance(FactoryFinder.java:154)
        at
org.apache.activemq.broker.BrokerFactory.createBrokerFactoryHandler(BrokerFactory.java:41)

I didn't change the dependencies and just updated the version. Only after
adding this dependency:

<!-- https://mvnrepository.com/artifact/org.apache.activemq/activemq-spring
-->
<dependency>
    <groupId>org.apache.activemq</groupId>
    <artifactId>activemq-spring</artifactId>
    <version>6.0.1</version>
</dependency>

The ActiveMQ 6 Classic broker worked. Is this expected? Has there been a
change on the xbean? Is there an upgrade guide where to look out for?

Raymond

Reply via email to