]
Jeff Mesnil updated WFLY-9591:
------------------------------
Summary: Correct attributes representing Artemis addresses (was: Add
ParameterCorrector to attributes representing Artemis addresses)
Correct attributes representing Artemis addresses
-------------------------------------------------
Key: WFLY-9591
URL:
https://issues.jboss.org/browse/WFLY-9591
Project: WildFly
Issue Type: Bug
Components: JMS
Reporter: Jeff Mesnil
Assignee: Jeff Mesnil
Artemis 2.x has changed the naming convention for its resources.
JMS Queue (resp. topic) no longer uses the "jms.queue." (resp.
"jms.topic.") prefix to name its address and core queues.
In the messaging-activemq subsystem, there are many attributes that correspond to such
addresses.
In the default configuration, we specified addresses for expiry and DLQ in the
address-setting resources:
{code}
<address-setting name="#"
dead-letter-address="jms.queue.DLQ"
expiry-address="jms.queue.ExpiryQueue" />
{code}
This configuration must now be updated to use the new address naming convention:
{code}
<address-setting name="#"
dead-letter-address="DLQ"
expiry-address="ExpiryQueue" />
{code}
In order to preserve backwards compatibility, we must also "correct" previous
configuration when they are loaded.
If we detect that an attribute that corresponds to an Artemis address has a value that
starts with "jms.queue." or "jms.topic.", we log a warning that such
value is no longer correct for Artemis and use instead the value without the prefix.
There is also a special case for the cluster-connection that was using the
"jms" value in the default configuration to forward any address that started
with "jms" (i.e. any JMS resources) to the cluster.
This is no longer correct with Artemis 2.4 and instead we must use the ""
(empty string) so that any addresses are forwarded to the cluster.
Again, we must also correct the attribute if its value is "jms" to use
"" instead.