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

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

Github user michaelandrepearce commented on the issue:

    https://github.com/apache/activemq-artemis/pull/2392
  
    Disagree AMQP is just a protocol. A broker is just another client. There is 
nothing to say an address cannot be both anycast and multicast.
    
     And as such if you have left the setting to allow dynamic creation on the 
broker then youre allowing if the type is not currently on the address for that 
to be created is valid.
    
    If you dont want that simply disable the ability to create queues 
dynamically broker side


> 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