activemq-users mailing list archives

Site index · List index
Message view « Date » · « Thread »
Top « Date » · « Thread »
From Justin Bertram <jbert...@apache.org>
Subject Re: Message redelivery when producer broker killed (without persistence)
Date Fri, 13 Oct 2017 02:01:30 GMT
> So, am I just missing something or are virtual topics not a solution?

I don't think virtual topics are a solution to your problem.


Justin

On Thu, Oct 12, 2017 at 6:08 PM, pypen <pypen@gmx.net> wrote:

> Hi,
> I am trying to solve a problem and I am wondering if Virtual Topics provide
> a solution for the problem.
> I have 2 brokers in a network of brokers.
> Broker A has a producer to VirtualTopic.Test and a local consumer
> Consumer.A.VirtualTopic.Test (lets call it consumer A).
> Broker B has a local consumer Consumer.A.VirtualTopic.Test (lets call it
> consumer B).
> (All clients [producers and consumers] are connected to the local brokers
> only)
>
> Broker A and Broker B are both running, consumer A is running, consumer B
> is
> not running.
>
> I want to be able to kill consumer A and broker A entirely (pull the plug),
> start consumer B and redeliver/process all messages that were not
> acknowledged by consumer A on consumer B.
>
> What I thought would happen (a very naive assumption) is that when a
> message
> is produced on the VirtualTopic.Test topic, both brokers will receive the
> message and when it is acknowledged by consumer A consumer B will not
> receive it (basically that the topics are treated as separate topics, but
> the queues as one). But the way it seems is that the message is handed from
> broker A to consumer A, if consumer A does not acknowledge the message is
> handed back to the broker A, then handled over to broker B and then to
> consumer B. The problem is that when broker A is killed, that message is
> lost.
>
> I tried also to use a statically included destination (VirtualTopic.Test),
> which seems to send copies of the messages to consumer A and consumer B so
> that once consumer B starts, it will receive all messages (that did not
> expire), even the ones that were acknowledged already by consumer A. (when
> both consumers are running all messages are delivered to both consumers)
>
> So, am I just missing something or are virtual topics not a solution?
>
>
>
>
>
> --
> Sent from: http://activemq.2283324.n4.nabble.com/ActiveMQ-User-
> f2341805.html
>

Mime
  • Unnamed multipart/alternative (inline, None, 0 bytes)
View raw message