I think you are right. I for example, thought I updated all dependencies to Jakarta, but still got:
jakarta.servlet.ServletException: Handler dispatch failed: java.lang.IncompatibleClassChangeError: Class org.apache.activemq.ActiveMQConnectionFactory does not implement the requested interface jakarta.jms.ConnectionFactory Need to run a dependency tree. Does ActiveMQ 6 completely use jakarta or does it still uses javax for some stuff? Raymond On Tue, Dec 5, 2023 at 4:13 AM Matt Pavlovich <mattr...@gmail.com> wrote: > Hi Raymond- > > There are a ton of unit tests that use the xbean factory. > > I suspect a classpath issue. > > If you can share a simplified code project via GitHub, I’d be happy to > look at it this week. > > Thanks, > Matt Pavlovich > > > On Dec 4, 2023, at 4:16 PM, ski n <raymondmees...@gmail.com> wrote: > > > > 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 > >