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

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

Github user franz1981 commented on the issue:

    https://github.com/apache/activemq-artemis/pull/2392
  
    @michaelandrepearce I understand your point here, just I'm not sure is only 
a matter of flexibility here, but more of user expectations and I admit that it 
makes this a lot more subjective to be judged. 
    The point of the issue is that if an address already exists, but without 
any queue on it, which routing type configuration will take precendence while 
creating a new one?
    For some users It could be the default routing type specified on the 
addresses settings, while for others the ones defined in the already existing 
address. 
    I admit that I'm more of the idea that the latter is matching most user 
expectations, but is just a personal taste. 


> 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