I still recommend you updating your clients though. It should be compatible at an initial point, but you should plan an upgrade on these clients. the protocol compatibility will help you on an initial moment, but you should plan the move gradually.
Especially on the 2.4 branch from hornetQ. Before the donation to apache activemq we had moved to 2.5 on hornetq/master, which was never released and then we moved development to apache/activemq. On Wed, Dec 14, 2016 at 5:25 PM, Pascal Gillet <pascalgil...@ymail.com.invalid> wrote: > Hi Folks, > > > > We have a bunch of legacy apps that send/receive messages using JMS with > HornetQ 2.4.0. > We wonder to what extent it is possible to migrate the HornetQ server to > ActiveMQ Artemis, ideally without changing anything other than the > configuration of these applications. > > Our JMS clients typically include hornetq-core-client.jar, > hornetq-commons.jar, netty.jar, hornetq-jms-client.jar and jboss-jms-api.jar > on the classpath. > We look up the JMS resources (that's JMS Queue, Topic, and ConnectionFactory > instances) from the JNDI server co-located with the HornetQ standalone server > (to do that, we also need the jnp-client.jar on the client classpath). > > The use of JNDI API along with JMS to make available the JMS objects is > purely a convention. > As far as I understand, Artemis (at least in standalone mode) chose to not > have a JNDI server, and instead advocates for the direct instantiation of JMS > Queue, Topic and ConnectionFactory instances. > Does it mean that only HornetQ 2.4 clients that do not use JNDI at all and > directly instantiate these objects are supported out of the box? I saw some > test cases under /tests/extra-tests/protocols/hornetq that tend to > demonstrate it. > > Artemis still provides "a client-side JNDI implementation that relies on > special properties set in the environment to construct the appropriate JMS > objects. In other words, no objects are stored in JNDI on the Artemis server, > instead they are simply instantiated on the client based on the provided > configuration." > Therefore, and for the purpose of modifying only the JNDI configuration, we > still must change the HornetQ jars to artemis-jms-client.jar, at least to > look up the JMS connection factory ActiveMQInitialContextFactory, right!? > > Finally, is it possible to integrate Artemis with a JNDI server (for > instance, within an application server like Wildfly)? We would declare some > queues and topics in the broker.xml and make them available via the JNDI API. > In this case, how to make Artemis aware of the JNDI server? In this case, we > would have nothing to change on the client side, right!? > > Thanks for your support, > > Pascal GILLET > > > -- Clebert Suconic