You are viewing a plain text version of this content. The canonical link for it is here.
Posted to issues@activemq.apache.org by "Lionel Cons (JIRA)" <ji...@apache.org> on 2016/07/22 07:27:20 UTC

[jira] [Commented] (ARTEMIS-550) Add support for virtual topic consumers

    [ 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)