[ https://issues.apache.org/jira/browse/ARTEMIS-1802?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=16434000#comment-16434000 ]
Justin Bertram edited comment on ARTEMIS-1802 at 4/11/18 2:32 PM: ------------------------------------------------------------------ Internally in the broker a _queue_ and _divert_ are actually the same kind of thing. They are both "bindings." In other words, both diverts and queues are _bound_ to an address; they just do different things with the messages they receive. A _queue_ receives a message sent to an address and stores it. A _divert_ receives a message sent to an address and diverts it to another address. You might be able to achieve the semantics you're looking for with this configuration: {code:xml} <addresses> <!-- the receiving topic "foo" --> <address name="foo"> <multicast> <queue name="foo-test"/> <queue name="foo-prod"/> </multicast> </address> ... </addresses> {code} Using this configuration any message sent to the address "foo" will go into the queues "foo-test" and "foo-prod." was (Author: jbertram): Internally in the broker a _queue_ and _divert_ are actually the same kind of thing. They are both "bindings." In other words, both diverts and queues are _bound_ to an address; they just do different things with the messages they receive. A _queue_ receives a message sent to an address and stores it. A _divert_ receives a message sent to an address and diverts it to another address. You might be able to achieve the semantics you're looking for with this configuration: {noformat} <addresses> <!-- the receiving topic "foo" --> <address name="foo"> <multicast> <queue name="foo-test"/> <queue name="foo-prod"/> </multicast> </address> ... </addresses> {noformat} Using this configuration any message sent to the address "foo" will go into the queues "foo-test" and "foo-prod." > Cannot use the same name for a divert and an address > ---------------------------------------------------- > > Key: ARTEMIS-1802 > URL: https://issues.apache.org/jira/browse/ARTEMIS-1802 > Project: ActiveMQ Artemis > Issue Type: Bug > Affects Versions: 2.5.0 > Reporter: Lionel Cons > Priority: Major > > I'm trying to use diverts to emulate ActiveMQ 5's virtual destinations > (http://activemq.apache.org/virtual-destinations.html). The use case is a > single topic ({{foo}}) bound to two queues ({{foo-test}} and {{foo-prod}}). > The following configuration snippet almost works: > {code} > <addresses> > <!-- the receiving topic "foo" --> > <address name="foo"> > <multicast/> > </address> > <!-- the backend queue "test" --> > <address name="foo-test"> > <anycast> > <queue name="foo-test"/> > </anycast> > </address> > <!-- the backend queue "prod" --> > <address name="foo-prod"> > <anycast> > <queue name="foo-prod"/> > </anycast> > </address> > ... > </addresses> > <diverts> > <!-- the divert to copy from "foo" to "foo-test" --> > <divert name="foo-test"> > <address>foo</address> > <forwarding-address>foo-test</forwarding-address> > <exclusive>false</exclusive> > </divert> > <!-- the divert to copy from "foo" to "foo-prod" --> > <divert name="foo-prod"> > <address>foo</address> > <forwarding-address>foo-prod</forwarding-address> > <exclusive>false</exclusive> > </divert> > </diverts> > {code} > Artemis give me an error: > {code} > AMQ222006: Binding already exists with name foo-test, divert will not be > deployed > {code} > Changing the divert names fixes the problem. > Why can't I use the same name both for the queue and the divert feeding the > queue? > Since these are different kinds of objects, I should be able to reuse the > same name, shouldn't I? -- This message was sent by Atlassian JIRA (v7.6.3#76005)