Hi all, Is it possible to have a wildcard consumer acknownledge messages in their originally addressed queues?
I'm attempting to consume messages from multiple dynamically created anycast JMS queues in Artemis. For that purpose I created a consumer for a wildcard adress. The wildcard matches a some dynamically created anycast queue names. All named queues have the same the message processing, but each address have a different external message recipient endpoint. E.g: 1. Create consumer C for wildcard address "q.#". 2. Submit a message to anycast adress "q.a". 3. Have C receive the message from "q.a" via its subscription to "q.#". 4. Have the message on the anycast queue "q.a" acknowledged when the consumer C in step 3 acknowledges the message it consumed from "q.#". Step 1 - 3 works, step 4 doesn't. While the message submitted to "q.a" is delivered to the consumer, it seems that the message on "q.a" remains in that queue even after C has consumed it on "q.#". Did C consume a copy? The purpose of this setup is to be able to have a static configuration of a message listener for multiple destinations that can be modified at runtime. The purpose of separating the endpoints by queue names is to simplify monitoring of throughput and backlog per endpoint by queue name, and to avoid head of line blocking between unrelated target endpoints. Is this approach, or something like it supported? Is there an alternative? I read about diverts, but AFAIU, what I need is "fan-in" rather than a fan-out, and I'd like the messages to stay in their original queues until consumed. As always, any hints appreciated. :) -- Fredrik Jonson --------------------------------------------------------------------- To unsubscribe, e-mail: users-unsubscr...@activemq.apache.org For additional commands, e-mail: users-h...@activemq.apache.org For further information, visit: https://activemq.apache.org/contact