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

Lionel Cons commented on ARTEMIS-1906:
--------------------------------------

Here is another idea : we could allow [standard 
patterns|https://docs.oracle.com/javase/7/docs/api/java/util/regex/Pattern.html]
 for the (address and security) settings.

For instance:
{code}
<address-settings>
   <address-setting pattern="/queue/.+">
      <default-address-routing-type>ANYCAST</default-address-routing-type>
      <default-queue-routing-type>ANYCAST</default-queue-routing-type>
   </address>
   <address-setting pattern="/topic/.+">
      <default-address-routing-type>MULTICAST</default-address-routing-type>
      <default-queue-routing-type>MULTICAST</default-queue-routing-type>
   </address>
</address-settings>
{code}

We could allow both the {{match}} attribute (messaging style wildcards) and the 
{{pattern}} attribute (standard patterns/regexps). This would give more 
flexibility when defining the settings.

> anycastPrefix and multicastPrefix should be kept in mapped addresses
> --------------------------------------------------------------------
>
>                 Key: ARTEMIS-1906
>                 URL: https://issues.apache.org/jira/browse/ARTEMIS-1906
>             Project: ActiveMQ Artemis
>          Issue Type: Bug
>            Reporter: Lionel Cons
>            Priority: Major
>
> For STOMP (at least), {{anycastPrefix}} and {{multicastPrefix}} are used to 
> map destinations to addresses and routing types.
> In order to have compatibility with other brokers such as ActiveMQ 5 or 
> RabbitMQ, these prefixes must be set to {{anycastPrefix=/queue/}} and 
> {{multicastPrefix=/topic/}}. With these settings, a destination like 
> {{/queue/foo}} works like a JMS queue while {{/topic/foo}} works like a JMS 
> topic. So far, so good.
> Unfortunately, the current implementation removes these prefixes when mapping 
> to addresses. This means that the two (completely unrelated, see 
> ARTEMIS-1794) destinations {{/queue/foo}} and {{/topic/foo}} map to the exact 
> same address named {{foo}}. Messaging does work as expected because the same 
> address can have multiple routing types but monitoring and security become 
> problematic.
> Security is defined per address so the two destinations {{/queue/foo}} and 
> {{/topic/foo}} cannot have different security settings.
> Similarly, some monitoring information is attached to the address objects so 
> {{/queue/foo}} and {{/topic/foo}} cannot have different monitoring metrics.
> It seems all these problems would disappear if prefixes would be kept when 
> mapping STOMP destinations to addresses.
> Note: similar problems might exist with other protocols but I've tested it 
> only using STOMP.



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

Reply via email to