Hello,

I have an address "a/b/c/demo/demodata" that I use with AMQP messaging.
The jmx function "getAddressSettingsAsJSON()" for this address reports that 
{...,"defaultQueueRoutingType":"MULTICAST","defaultAddressRoutingType":"MULTICAST",...
 } , which is as expected from my address-settings.

When the producer is started first, then the address is seen to be auto-created 
as MULTICAST.
But when the consumer is started first, then the address is unexpectedly 
auto-created as ANYCAST.

In https://github.com/apache/activemq-artemis/pull/3124, @jbertram wrote:
[...] When auto-creating resources the routing type is based on the following 
(in descending order of precedence):
1. The terminus capability set on the link as described in section 5.2 of the 
AMQP-to-JMS mapping 
document<https://www.oasis-open.org/committees/download.php/60574/amqp-bindmap-jms-v1.0.pdf>.
2. The 
prefix<http://activemq.apache.org/components/artemis/documentation/latest/address-model.html#using-prefixes-to-determine-routing-type>
 set on the acceptor.
3. The dynamic default routing-type set in the address-settings.
4. The static default 
routing-type<https://github.com/apache/activemq-artemis/blob/master/artemis-core-client/src/main/java/org/apache/activemq/artemis/api/config/ActiveMQDefaultConfiguration.java#L537>
 set the the code-base.

Since (1) and (2) do not apply in my case, option (3) should determine the 
result. But that should give a consistent decision.

What can explain the use of ANYCAST here?

Thx!
Erwin

Reply via email to