Chapter 2. Enhancements

  • ENTMQBR-428 - Implement SASL external

    AMQ Broker can now validate AMQP connections by using the identity of the connection’s SSL certificate rather than using traditional credentials such as a username and password. This benefits deployments where secure access is managed through SSL certificates.

  • ENTMQBR-831 - Broker should respond to changes in at run-time

    AMQ Broker now retains the changes that you make to the configuration file without restarting the broker.

  • ENTMQBR-893 - Masking of password does not work with login.config

    You can now mask passwords in the JAAS configuration file login.config. Previously, password masking was not supported for login.config, which meant that the passwords in the file were stored in plain text.

  • ENTMQBR-908 - Support masked passwords in bootstrap.xml

    You can now mask passwords in the broker.xml configuration file. Previously, password masking was not supported for broker.xml, which meant that the passwords in the file were stored in plain text.

  • ENTMQBR-935 - Should have Ability to split broker.xml into multiple files and import into broker.xml

    AMQ Broker now supports XML inclusions in the broker.xml configuration file, which enables you to break broker.xml into separate files. For example, if you have multiple brokers that share the same set of addresses and address settings, you can define the addresses in a separate file, and then include that file in each broker’s broker.xml configuration file.

  • ENTMQBR-945 - Non-persistent messages lost in non-failure scenarios when authorization fails, because delivery mode defaults to asynchronous

    AMQ Broker now enables you to configure notifications for loss of non-persistent messages by clients. Obvious failure conditions such as broker stoppage or disconnection of a storage provider can cause this type of loss. However, the default delivery mode for non-persistent messages, which is asynchronous, can also cause message loss in situations such as failed authorization or use of a non-configured queue. You can now use the CompletionListener API to configure notifications for such message-loss events.

  • ENTMQBR-1002 - Enable the pause method for an address

    AMQ Broker 7.5 enables you to pause an address, which pauses all of the queues bound to that address. New queues that you add to this address are also paused until you resume the address. To pause or resume an address, use the Core JMS API to implement the pause() or resume() methods on an AddressControl interface. For more information, see AddressControl in the Core JMS API documentation.

  • ENTMQBR-1056 - Add Support for DB2 v11.latest

    The 7.2 version of AMQ Broker adds support for the database DB2, version 11.

  • ENTMQBR-1063 - Improve DB2 compatibility

    AMQ Broker now supports IBM DB2 versions 10.5 and 11.1 for message storage. The following enhancements have been made:

    • AUTO_INCREMENT is now supported on DB2.
    • You can now configure the maximum allowed time difference between the system time and DB2 time. This makes high availability more reliable, because the broker will be shut down automatically if the time difference exceeds the configured value.
    • Database tables can now be created externally. Concurrent table creation checking has been improved.
  • ENTMQBR-1271 - Allow custom etc and data directories to be used

    AMQ Broker 7.2 provides greater flexibility in storing a broker instance’s configuration files and data. Previously, a broker instance’s configuration files and data could only be stored in the etc/ and data/ directories within the broker instance’s directory. Now, you can store these files in any custom directory, including locations outside of the broker instance’s directory.

  • ENTMQBR-1282 - Support for exclusive consumers

    AMQ Broker now supports exclusive queues. An exclusive queue routes messages to a single consumer even if multiple consumers are present. In addition, the consumer that receives the messages will receive them with guaranteed message ordering so that they can be consumed in the same order in which they were produced.

  • ENTMQBR-1308 - Create an ActiveMQServerPlugin for logging various broker events

    Starting in AMQ Broker 7.2, logging has been improved through a new LoggingActiveMQServerPlugin. By using this plugin, you can configure highly-informative logging about many different types of events that would otherwise only be available through debug logs.

  • ENTMQBR-1367 - Support SSL Certificate Revocation List

    Starting in AMQ Broker 7.2, you can now specify an SSL certificate revocation list on an acceptor’s URL. If you are using SSL for client communication, this means that you can specify a list of certificates that have been revoked by the issuing certificate authority (CA) before their scheduled expiration date and should no longer be trusted.

  • ENTMQBR-1370 - Add user attribute to queue in XML/JMX

    When a queue is auto-created it is assigned the user name of the connecting client. This user name is now exposed as metadata on the queue and also in JMX and in the AMQ Console. You can also now configure a user on a pre-defined queue by modifying the broker.xml file. This enhancement makes it possible to understand and track with whom and how queues originated.

  • ENTMQBR-1385 - Add support for virtual topic consumers

    AMQ Broker now supports migrating existing OpenWire clients that use virtual topic subscriptions (an ActiveMQ 5.x-only feature) without requiring any changes to the client. This functionality maps the virtual topic concept to an Artemis fully qualified queue name (FQQN). By using a FQQN, you can create and access a standard Artemis topic subscriber queue.

  • ENTMQBR-1403 - Support referrals in LDAP login module

    AMQ Broker now supports LDAP referrals. If you use LDAP referrals in your LDAP infrastructure, you can now configure the broker to use these referrals to authenticate and authorize users. You can use the broker’s JAAS LDAP login module to control how the broker handles LDAP referrals.

  • ENTMQBR-1648 - Don’t hardcode openshift.DNS_PING service name

    AMQ Broker 7.5 enables you to specify a unique value for the OpenShift DNS ping service for each application template deployment that you make in a given OpenShift project. This enhancement enables you to deploy multiple broker clusters in the same OpenShift project. For more information, see the description of the PING_SVC_NAME parameter in Application template parameters.

  • ENTMQBR-1783 - Add a user and role manager (create/delete/update/list) JMX endpoint in AMQ 7

    AMQ Broker 7.3 supports adding, removing, and updating user information by using the management API when you are using the PropertiesLoginModule class. Previously, you could perform these actions only by using the command-line interface.

  • ENTMQBR-1918 - [AMQ7, critical-analyzer] add extra detail to output for analyzing cause of timeout

    The logs for the Critical Analyzer now provide extra information about a slow-performing broker when you enable tracing on the package named org.apache.activemq.artemis.utils.critical.

  • ENTMQBR-1932 - Support AMQ 7 on Java 11

    AMQ Broker 7.4 adds runtime support for JDK 11 Java Virtual Machines (JVMs).

  • ENTMQBR-1974 - Support masked passwords in management.xml

    AMQ Broker now supports masking the values of the key-store-password and trust-store-password settings in the management.xml file. These values are used when you secure remote JMX access with SSL.

  • ENTMQBR-2020 - Track routed and unrouted messages to an address

    Address metrics now include information about how many messages the address has received. This number is divided between routed and unrouted messages. Prior to this enhancement, it was impossible to determine if an address had received a message which was not routed, for example, in the case of a JMS topic with no subscriptions.

  • ENTMQBR-2025 - Allow users to define custom last value queue keys

    AMQ Broker 7.4 supports last value queues with custom last value key names. Previously, last value queues used only the default last value key name of _AMQ_LVQ_NAME.

  • ENTMQBR-2139 - Support MSSQL for database message persistence

    AMQ Broker 7.4 supports Microsoft SQL Server 2016 for JDBC-based persistence.

  • ENTMQBR-2173 - Support a Prometheus plugin or agent

    AMQ Broker 7.4 includes a pre-configured plugin for Prometheus. Prometheus is software built to monitor large, scalable systems and store historical runtime data over an extended time period. The AMQ Broker Prometheus plugin exports broker runtime metrics to Prometheus format, enabling you to use Prometheus itself to visualize and run queries on the data.

  • ENTMQBR-2299 - An option to reject messages without a JMSXUserID

    Starting in AMQ Broker 7.4, you can track and log the origins of messages using the _AMQ_VALIDATED_USER message key. You can also configure the broker to reject a message that does not have a user name already populated by the client when it sends the message.

  • ENTMQBR-2345 - Enhancements to the databaseStoreType

    In AMQ Broker 7.4, you can add an encrypted user name and password when configuring a database-store element in your broker.xml configuration file.

  • ENTMQBR-2687 - Add new ActiveMQArtemis CRD version to reflect actual configuration schema

    In AMQ Broker 7.5, the Custom Resource Definition (CRD) files used by the AMQ Broker Operator have been redesigned. This enhancement makes the CRDs more consistent with the broker.xml configuration file that you use to configure on-premise broker deployments. For more information, see Overview of Custom Resource Definitions.

  • ENTMQBR-2846 - Operator-based deployments larger than one broker are clustered by default

    In the 7.5 version of the AMQ Broker Operator, a deployment of two or more brokers is clustered by default. In the 7.4 version of the Operator, you needed to explicitly include a clusterConfig configuration element in the Custom Resource (CR) that you created for your deployment.

  • ENTMQBR-2921 - Scaledown controller no longer explicitly deployed via Custom Resource

    In the 7.5 version of the AMQ Broker Operator, if you intend to enable message migration in your broker deployment, you no longer need to deploy a dedicated Custom Resource (CR) instance for the scaledown controller. Now, if you set messageMigration to true in your main broker CR, the Operator automatically instantiates and starts the scaledown controller to prepare for message migration. If you set messageMigration to false, the Operator does not instantiate the scaledown controller. If you do not explicitly set a value for messageMigration, the Operator sets a default value of true. In this case, the Operator also automatically instantiates and starts the scaledown controller.