Chapter 3. New and Changed Features
This section describes a highlighted set of enhancements and changed features in AMQ Broker 7.12.
- AMQ Broker integration with cert-manager Operator for Openshift for certificate management
- In AMQ Broker 7.12 on OpenShift, you can use cert-manager Operator for Openshift to create and manage the certificates required to configure TLS on AMQ Broker. For more information, see Using cert-manager Operator for Openshift in Deploying AMQ Broker on Openshift.
- AMQ Broker Openshift service serving TLS certificate
- If you want to secure internal connections between the broker and clients on the same Openshift cluster, you can add an annotation to the acceptor service to request that Openshift generates a service serving TLS certificate. For more information, see Using Openshift service serving certificates in Deploying AMQ Broker on Openshift.
- Support for Privacy Enhanced Mail (PEM) certificates
- In AMQ Broker 7.12 support for TLS certificates in PEM format is added.
- Support for deployment in Openshift namespaces that have a restricted policy
- You can deploy AMQ Broker 7.12 on OpenShift in namespaces that have a restricted OpenShift security context constraint, by default. In addition to the pod security options, you can customize the container security options in the CR if you want to run the broker in a different OpenShift security context. For more information, see Custom Resource configuration reference in Deploying AMQ Broker on Openshift.
- Segregating
brokerProperties
configuration -
If your custom resource (CR) for AMQ Broker 7.12 on OpenShift contains a
brokerProperties
section and the CR is at the maximum size limit of 1 MB, you can segregate thebrokerProperties
configuration into one or more Java properties files which you then reference in the CR. You might want to also segregate thebrokerProperties
configuration in separate files to logically group thebrokerProperties
items for easier maintenance. For more information, see Segregating thebrokerProperties
configuration in Deploying AMQ Broker on Openshift. - Support for ingresses in addition to routes on Openshift
- In AMQ Broker 7.12 on OpenShift, you can expose acceptors, connectors and the management console to clients that are outside the Openshift cluster by using ingresses in addition to routes. For more information, see Configuring acceptors in Deploying AMQ Broker on Openshift.
- Support for mounting shared volumes for third-party JAR files
- In AMQ Broker 7.12 on OpenShift, you can configure the Operator to mount a shared volumes on each broker pod in a cluster. A use case for mounting a shared volume on each pod is to store a third-party JAR file, such as a JAR file for a JDBC database, required by the broker. On both RHEL and Openshift platforms, you can extend the Java classpath to make additional JAR files available to the broker at runtime. For more information, see Adding third-party JAR files in Deploying AMQ Broker on Openshift.
- Customizing Openshift resources created by the Operator
In AMQ Broker 7.12 on OpenShift, you can customize Openshift resources such as deployments, pods and services that are created and managed by the Operator. Customizing these resources can be useful if you want to perform certain tasks such as:
- Adding custom annotations that control how resources are treated by other services.
Modifying attributes that are not exposed in the broker CR.
For more information, see Customizing Openshift resources created by the Operator in Deploying AMQ Broker on Openshift.
- Support for adding plugins to AMQ Broker on Openshift
- In AMQ Broker 7.12 on OpenShift, you can extend the functionality of AMQ Broker by registering plugins in the CR. For more information, see Registering plugins with AMQ Broker in Deploying AMQ Broker on Openshift.
- Secure cluster connections support
- In AMQ Broker 7.12 on Openshift, you can secure cluster connections by enabling SSL for internal acceptors and connectors. For more information, see Securing cluster connections in Deploying AMQ Broker on Openshift.
- Automatic reloads of SSL artifacts
- In AMQ Broker 7.12 on OpenShift and RHEL, you can configure AMQ Broker to reload renewed TLS certificates and other changes to the keystore or truststore configurations without requiring a broker restart. To configure automatic reload, set the sslAutoReload` attribute for the acceptor. For an example of how to configure automatic reloads of SSL artifacts on Openshift, see Using cert-manager Operator for Openshift in Deploying AMQ Broker on Openshift.
- Health check for clustered brokers
-
In AMQ Broker 7.12, you can use the
artemis check cluster
command-line utility to verify the topology of the broker nodes in a cluster. For more information, see Checking the health of brokers, queues and clusters in Managing AMQ Broker. - Federation support using AMQP broker connections
In AMQ Broker 7.12, you can configure federation of addresses and queues over an outbound AMQP broker connection. Using the AMQP protocol for federation offers the following benefits over using the Core protocol:
- If clients use the AMQP protocol for messaging, use the AMQP protocol for federation to eliminate the conversion of messages between AMQP and Core.
- AMQP federation supports two-way federation over a single outgoing connection. The two-way support eliminates the need for a remote broker to connect back to a local broker, which is a requirement when you use the Core protocol for federation and which might be prevented by network policies.
- AMQP federation provides better control over the movement of messages between brokers to avoid messages moving back and forth between brokers.
For more information, see Configuring federation using the AMQP protocol in Configuring AMQ Broker.
- Use a custom shell from the command-line interface
-
In AMQ Broker 7.12, you can interact with the broker by using a custom
artemis
shell from the AMQ Broker command-line interface. The custom shell has built-in auto-completion of commands and command parameters. For more information, see Using the CLI in anartemis
shell in Managing AMQ Broker. - Literal matching of addresses that contain wildcards
- In AMQ Broker 7.12, you can configure literal matching to treat wildcard characters as literal characters for matching addresses that contain wildcards. For more information, see Configuring a literal match in Configuring AMQ Broker.
- Role-based access control for JMX Management Operations
-
In AMQ Broker 7.12, you can use two new permissions,
view
andedit
, to configure role-based access control for JMX Management Operations, without requiring a broker restart. For information on configuring role-based access control on RHEL, see Configuring role-based access control in thebroker.xml
file in Configuring AMQ Broker. For information on configuring role-based access control on Openshift, see Configuring role-based access control for management operations in Deploying AMQ Broker on Openshift. - Change to the format of the output of the queue stat command
-
The format of the output of the
queue stat
command has changed from the output in 7.11 and earlier versions of AMQ Broker, which might affect automated processes that run in your deployment.
- New parameter configurable in an MQTT acceptor to automatically remove MQTT subscription queues
-
In AMQ Broker 7.12, you can configure a
defaultMqttSessionExpiryInterval
parameter in an MQTT acceptor to automatically remove MQTT subscription queues that are not removed when the corresponding client session expires. The new parameter represents the number of seconds that must elapse after the client has disconnected before the broker removes the session state and subscription queues. Prior to 7.12, it was necessary to configureauto-delete-*
parameters in anaddress-setting
to remove a queue that was not removed when the client session expired.
- Operator channels
The AMQ Broker Operator,
Red Hat Integration - AMQ Broker for RHEL 8 (Multiarch)
, is available with the following channels:-
7.12.x
- This channel provides updates for version 7.12 only and is a Long Term Support (LTS) channel. -
7.11.x
- This channel provides updates for version 7.11 only and is a Long Term Support (LTS) channel. -
7.10.x
- This channel provides updates for version 7.10 only and is a Long Term Support (LTS) channel.
-
It is not possible to upgrade the Operator by switching channels. You must uninstall the existing Operator and install the new version of the Operator from the appropriate channel.
To determine which Operator to choose, see the Red Hat Enterprise Linux Container Compatibility Matrix.
- Example programs
- In AMQ Broker 7.12, example programs are no longer distributed and installed with the broker. Instead, you can access the example programs in the following repository: https://github.com/apache/activemq-artemis-examples.