Github user grs commented on the issue:

    https://github.com/apache/activemq-artemis/pull/2392
  
    @michaelandrepearce re: "if producer explicitly sets a routing type, it 
must be honoured", I'm not sure what you mean there.
    
    At least from AMQP, the routing types is a property of the address, not the 
sender. That is it affects the behaviour of that address for all clients using 
it.
    
    Let's say I create an address with --no-anycast and --multicast, bind a 
named durable subscription queue to it, create a receiver on that named 
subscription queue, and two further receivers. If I know create a sender and 
request the 'queue' capability' (or don't request any capability), the 
definition of the address is changed and a queue with the same name as the 
address is created. However the messages from that sender are still enqueued 
onto each of the queues currently bound to the address (as well as the 
automatically created queue with the same name as the address, which now 
accumulates messages sent to that address not only by senders explicitly 
requesting anycast behaviour, but also those from senders declaring multicast 
behaviour). I.e. they are *not* actually being routed with anycast semantics. 
If my receiver to the named subscription queue exists and reconnects, it now 
gets an error from the broker 'Incorrect Routing Type for queue, expecting: 
ANYCAST'
    
    To me this seems pretty broken behaviour.


---

Reply via email to