Chapter 2. Apache ActiveMQ Issues


Abstract

JBoss A-MQ 6.1.0.redhat-379 uses Apache ActiveMQ 5.9.0. Since the last release, Apache ActiveMQ has been upgraded from version 5.8.0 to version 5.9.0. This introduces a few migration issues.

2.1. Key Migration Issues

ActiveMQ Web console no longer supported

The Apache ActiveMQ Web console is no longer supported in JBoss A-MQ 6.1 and JBoss Fuse 6.1. It is recommended that you use the Fuse Management Console instead (installed by default in the container). You can access the new Hawtio-based Fuse Management Console by navigating to the http://localhost:8181 URL in your browser.

Migrating a JDBC store with XA transactions

If you are using the JDBC persistence adapter with XA transactions enabled, you should note that the database schema for the JDBC store has changed, going from version 5.8.0 to version 5.9.0. If you need to migrate the contents of an existing JDBC store to ActiveMQ 5.9.0, you must perform the following steps:
  1. Note that this change to the database schema only affects JDBC stores that used with XA transactions. If your existing broker does not use XA transactions, there is no need to perform these migration steps.
  2. If the old broker (version 5.8.0) is currently running, make sure no transactions are in flight before attempting to stop the broker.
  3. Stop the broker.
  4. Alter the database tables by executing database commands similar to the following (you will probably need to adapt these commands to suit the syntax of your particular database):
    ALTER TABLE ACTIVEMQ_MSGS ALTER COLUMN XID VARCHAR(250)
    CREATE INDEX ACTIVEMQ_MSGS_XIDX ON ACTIVEMQ_MSGS (XID)
    ALTER TABLE ACTIVEMQ_ACKS ALTER COLUMN XID VARCHAR(250)
    CREATE INDEX ACTIVEMQ_ACKS_XIDX ON ACTIVEMQ_ACKS (XID)
  5. Configure the new broker (version 5.9.0) to use the JDBC store.
  6. Start the new broker.

fabric:mq-create command has different default profile name

In JBoss A-MQ version 6.0, the fabric:mq-create command would create a new profile with the same name as the broker, by default. In JBoss A-MQ 6.1, however, this behaviour has changed, so that the default profile name is mq-broker-Group.BrokerName, where Group is the broker group and BrokerName is the name of the new broker.
If you want to get the same behaviour as in version 6.0, you can use the --profile option to specify the new profile name explicitly. For example, to create a new JBoss A-MQ broker, where both the broker and the profile are named brokerx, enter a command like the following:
fabric:mq-create --profile brokerx --create-container broker --replicas 1 --networks us-west brokerx

fabric:mq-create command requires keytool utility

The fabric:mq-create command requires that the Java keytool command-line utility is provided on your PATH. If necessary, you can work around this requirement by specifying the --no-ssl option (which disables support for the SSL/TLS protocol).
Red Hat logoGithubRedditYoutubeTwitter

Learn

Try, buy, & sell

Communities

About Red Hat Documentation

We help Red Hat users innovate and achieve their goals with our products and services with content they can trust.

Making open source more inclusive

Red Hat is committed to replacing problematic language in our code, documentation, and web properties. For more details, see the Red Hat Blog.

About Red Hat

We deliver hardened solutions that make it easier for enterprises to work across platforms and environments, from the core datacenter to the network edge.

© 2024 Red Hat, Inc.