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

Lionel Cons commented on ARTEMIS-550:
-------------------------------------

FWIW, on our side, what we need is basically durable topic subscriptions: 
producer sends to a topic and the messages are not lost when the consumers are 
not connected. Consumers can use different subscriptions (each would get a copy 
of the message) or identical subscriptions (only one would get of the message).

With our configuration below, the producer sends to {{/topic/foo}} and one or 
more consumers of name {{X}} receive from {{/queue/Consumer.X.foo}}. We often 
have 2 to 4 different consumers on the same topic.

{code}
    <destinationInterceptors>
      <virtualDestinationInterceptor>
        <virtualDestinations>
          <virtualTopic name=">" prefix="Consumer.*."/>
        </virtualDestinations>
      </virtualDestinationInterceptor>
    </destinationInterceptors>
{code}

However, we do rely on these virtual queues being "normal" queues. In 
particular, we need to be able to do the following:
 - assign different security settings to the queues (i.e. who can consume)
 - monitor the number of messages in each queue
 - purge (= delete all messages) each queue separately
 - create them via the configuration file to avoid losing the messages sent to 
the topic before any consumer subscribes
 - send messages directly to the queue

This last point probably needs some explanation. In case a broker needs to be 
destroyed, we can "shovel" messages by consuming them from one virtual queue 
and re-sending them directly to the same named queue 
({{/queue/Consumer.X.foo}}) on another broker, without having to send the 
messages to the topic as this would create duplicates for the other consumers 
of the same topic.

FWIW, ActiveMQ Apollo does all this very nicely via its {{/dsub}} prefix (see 
https://activemq.apache.org/apollo/documentation/stomp-manual.html#Topic_Durable_Subscriptions).

> Add support for virtual topic consumers
> ---------------------------------------
>
>                 Key: ARTEMIS-550
>                 URL: https://issues.apache.org/jira/browse/ARTEMIS-550
>             Project: ActiveMQ Artemis
>          Issue Type: Improvement
>          Components: Broker
>    Affects Versions: 1.3.0
>            Reporter: Benjamin Graf
>
> Artemis should support virtual topic consumers as alternative to topic 
> subscriptions as ActiveMQ itself does.



--
This message was sent by Atlassian JIRA
(v6.3.4#6332)

Reply via email to