activemq-users mailing list archives

Site index · List index
Message view « Date » · « Thread »
Top « Date » · « Thread »
From Martyn Taylor <mtay...@redhat.com>
Subject Re: [Artemis] - Can last value queue be sent to multiple consumers?
Date Mon, 30 Oct 2017 09:42:26 GMT
Hi Lionel,

If I understand your use case correctly, then MQTT has a feature that does
exactly what you're trying to achieve.  Retained messages.

"When a workstation connects, I want it to be able to get the most recent
value immediately."

A producer can mark a message as "retain".  The broker keeps hold of this
message.  When a new subscriber arrives the broker sends this message
first.  Each address can have at any one time a single retain message.

"I then want them all to be receiving updates as they happen"

Subsequent messages sent to the subscription address are then forward to
the new subscriber as usual.

On Sun, Oct 29, 2017 at 8:44 PM, Justin Bertram <jbertram@apache.org> wrote:

> > Can the multicast work for a client who is connecting for the first time?
>
> I'm not entirely clear on your question here.  Are you talking about using
> UDP multicast for server discovery or using a multicast address and/or
> queue?
>
>
> > Will they immediately get the last value?
>
> In a last-value queue the only message for a given value which is stored is
> the "last" one received so that will be the one which a client gets when it
> connects and begins consuming messages.
>
>
> Justin
>
> On Sun, Oct 29, 2017 at 5:01 AM, Lionel van den Berg <lionelv@gmail.com>
> wrote:
>
> > One more question, I've read the documentation several times and plan to
> > implement soon and test some scenarios. Can the multicast work for a
> client
> > who is connecting for the first time? Will they immediately get the last
> > value?
> >
> > On 13 August 2017 at 09:10, Justin Bertram <jbertram@redhat.com> wrote:
> >
> > > A multicast address is something you configure on the ActiveMQ Artemis
> > > broker.  See more details in the documentation [1].
> > >
> > >
> > > Justin
> > >
> > > [1] http://activemq.apache.org/artemis/docs/latest/address-model.html
> > >
> > > On Sat, Aug 12, 2017 at 5:36 PM, Lionel van den Berg <
> lionelv@gmail.com>
> > > wrote:
> > >
> > > > I can be flexible on the protocol. Currently we are using openwire.
> > > >
> > > > For the option of a multicast address, is this an activemq
> > configuration
> > > or
> > > > network configuration? OK, it's in activemq and there is some
> > > > documentation, I'll get to ready. At first glance it seems there are
> > some
> > > > limitations, but it looks worth my time to understand how it would
> > work.
> > > >
> > > >
> > > > On 13 August 2017 at 07:05, Justin Bertram <jbertram@redhat.com>
> > wrote:
> > > >
> > > > > What client protocol/API are you going to be using?
> > > > >
> > > > > I think you could accomplish what you're after by using a multicast
> > > > address
> > > > > with multiple last-value queues which represent all your
> > workstations.
> > > > How
> > > > > you access those will depend on what protocol/API you decide to
> use.
> > > > >
> > > > >
> > > > > Justin
> > > > >
> > > > > On Fri, Aug 11, 2017 at 5:13 AM, Lionel van den Berg <
> > > lionelv@gmail.com>
> > > > > wrote:
> > > > >
> > > > > > Hi,
> > > > > >
> > > > > > I'm currently using activemq and now looking into Artemis. One
of
> > the
> > > > > > interest features I see is the is the last-value queue option.
> > > However
> > > > > what
> > > > > > I want to use it for is for regularly updating data and not
so
> > > regular
> > > > > > updating data where the last value is always the only interesting
> > > > value,
> > > > > > but where that data is interesting to multiple consumers.
> > > > > >
> > > > > > A bit more on my design thought in case I've missed another
> better
> > > > > > solution. I have many workstations that connect, disconnect
and
> > > change
> > > > > user
> > > > > > role. They all use a sub-set of the same data that I want to
> > publish
> > > to
> > > > > > dedicated queues (last value) or topics. When a workstation
> > > connects, I
> > > > > > want it to be able to get the most recent value immediately.
I
> then
> > > > want
> > > > > > them all to be receiving updates as they happen. I can solve
it
> > > through
> > > > > > triggering a publish in the software when a new workstation
> > connects,
> > > > but
> > > > > > if the messaging system can help me then that is better.
> > > > > >
> > > > > > Thanks
> > > > > >
> > > > > > Lionel.
> > > > > >
> > > > >
> > > >
> > >
> >
>

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