The use-case you're describing is exactly the use-case that message
redistribution solves. This is different from what the documentation calls
"initial distribution" which is working properly according to your previous
explanation.

Can you confirm you read the documentation I linked previously? What value
do you have configured for the redistribution-delay address-setting?

The broker ships with an example to demonstrate how redistribution works.
It's in the examples/features/clustered/queue-message-redistribution
directory in the broker distribution.


Justin

On Mon, Mar 6, 2023 at 1:22 PM prateekjai...@gmail.com <
prateekjai...@gmail.com> wrote:

> Hi Justin,
>
>  Thanks for responding. Yes, message redistribution is configured and it is
> working fine. The issue occurs when, producer is done with sending messages
> but *no consumer is up till then*. Now, when a consumer comes up; it only
> gets messages that are present on that particular node only (node to which
> consumer is connected) . Ideally, I would expect that all messages on that
> particular queue (from other nodes too) should be delivered to that
> consumer. Any idea, what is missing here.
>
> Note: Everything works fine if the consumer is up and running when the
> producer is sending messages.
>
> Regards,
> Prateek Jain
>
>
> On Mon, Mar 6, 2023 at 6:44 PM Justin Bertram <jbert...@apache.org> wrote:
>
> > It sounds like you need to configure message redistribution [1]. Have you
> > done that?
> >
> >
> > Justin
> >
> > [1]
> >
> >
> https://activemq.apache.org/components/artemis/documentation/latest/clusters.html#message-redistribution
> >
> > On Mon, Mar 6, 2023 at 12:17 PM prateekjai...@gmail.com <
> > prateekjai...@gmail.com> wrote:
> >
> > > Hi All,
> > >
> > >  I am facing an issue where, I have created a 3 node cluster of artemis
> > and
> > > created a distributed queue on it, for example exampleQueue.
> > >
> > > When I send messages to this queue, messages are loadbalanced on each
> > node.
> > > If there is a consumer already listening/connected to any node in
> cluster
> > > for this queue, it receives all those messages (This is working fine).
> > >
> > >  The problem starts if there is no consumer to this queue connected to
> > any
> > > node. Then, when a consumer comes up and connects to a node, it only
> > > receives messages present on that particular node only. Is it possible
> to
> > > divert all unread messages to this consumer? Any ideas?
> > >
> > > Regards,
> > > Prateek Jain
> > >
> >
>

Reply via email to