You are viewing a plain text version of this content. The canonical link for it is here.
Posted to users@activemq.apache.org by Lionel van den Berg <li...@gmail.com> on 2017/10/29 10:01:18 UTC

Re: [Artemis] - Can last value queue be sent to multiple consumers?

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 <jb...@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 <li...@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 <jb...@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.
> > > >
> > >
> >
>

Re: [Artemis] - Can last value queue be sent to multiple consumers?

Posted by Martyn Taylor <mt...@redhat.com>.
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 <jb...@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 <li...@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 <jb...@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 <jb...@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.
> > > > > >
> > > > >
> > > >
> > >
> >
>

Re: [Artemis] - Can last value queue be sent to multiple consumers?

Posted by Justin Bertram <jb...@apache.org>.
> 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 <li...@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 <jb...@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 <li...@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 <jb...@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.
> > > > >
> > > >
> > >
> >
>