[ 
https://issues.apache.org/jira/browse/ARTEMIS-2100?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=16663540#comment-16663540
 ] 

ASF GitHub Bot commented on ARTEMIS-2100:
-----------------------------------------

Github user grs commented on the issue:

    https://github.com/apache/activemq-artemis/pull/2392
  
    Two points:
    
    1) in my case, accessing over AMQP, the sender is *not* defining any 
routing type
    2) I would not expect a sender requesting a routing type explicitly to 
redefine a statically defined address i.e. if address pre-exists and has 
routing types only multicast, a sender attempting to request anycast should be 
informed that their intentions do not match the pre-configured semantics (of 
course if  the address does not exist then it can be defined according to the 
senders desires providing auto-creation of the address is allowed).


> address routing-type overridden on attaching AMQP sender
> --------------------------------------------------------
>
>                 Key: ARTEMIS-2100
>                 URL: https://issues.apache.org/jira/browse/ARTEMIS-2100
>             Project: ActiveMQ Artemis
>          Issue Type: Bug
>    Affects Versions: 2.6.2
>            Reporter: Gordon Sim
>            Priority: Major
>             Fix For: 2.6.4
>
>
> If the default-address-routing-type is set to ANYCAST and an address is 
> created with routing-type MULTICAST, then when an AMQP sender attaches to 
> that address the address is recreated with routing-type=[MULTICAST,ANYCAST] 
> and a queue with the same name as the address is created. It is expected that 
> the address routing-type should be honoured.
> E.g. on broker with:
> {noformat}
>          <address-setting match="#">
>             <dead-letter-address>DLQ</dead-letter-address>
>             <expiry-address>ExpiryQueue</expiry-address>
>             <redelivery-delay>0</redelivery-delay>
>             <!-- with -1 only the global-max-size is in use for limiting -->
>             <max-size-bytes>-1</max-size-bytes>
>             
> <message-counter-history-day-limit>10</message-counter-history-day-limit>
>             <address-full-policy>PAGE</address-full-policy>
>             <auto-create-queues>true</auto-create-queues>
>             <auto-create-addresses>true</auto-create-addresses>
>             <auto-create-jms-queues>true</auto-create-jms-queues>
>             <auto-create-jms-topics>true</auto-create-jms-topics>
>             
> <default-address-routing-type>ANYCAST</default-address-routing-type>
>          </address-setting>
> {noformat}
> Create a MULTICAST address:
> {noformat}
> artemis address create --multicast --no-anycast --name mytopic
> {noformat}
> Check the address and any queues (feilds ommitted for clarity):
> {noformat}
> $ artemis address show --name mytopic
> Address [name=mytopic, routingTypes={MULTICAST}, autoCreated=false]
> $ artemis queue stat
> |NAME                     |ADDRESS                  
> |DLQ                      |DLQ     
> |ExpiryQueue              |ExpiryQueue   
> |activemq.management.612e33f1-1c5f-4bde-99bb-9e9188efa508|activemq.management.612e33f1-1c5f-4bde-99bb-9e9188efa508|1
>               
> {noformat}
> Now attach an AMQP sender to the address, e.g. using Qpid Proton python 
> example
> {noformat}
> simple_send.py -a localhost/mytopic -m 1
> {noformat}
> Now the address has been altered and a queue called mytopic exists:
> {noformat}
> $ artemis address show --name mytopic
> Address [name=mytopic, routingTypes={MULTICAST,ANYCAST}, autoCreated=false]
> $ artemis queue stat
> |NAME                     |ADDRESS   
> |DLQ                      |DLQ 
> |ExpiryQueue              |ExpiryQueue 
> |activemq.management.5a393c3e-746d-404b-9afb-36849886aaa5|activemq.management.5a393c3e-746d-404b-9afb-36849886aaa5
> |mytopic                  |mytopic               
> {noformat}



--
This message was sent by Atlassian JIRA
(v7.6.3#76005)

Reply via email to