You are viewing a plain text version of this content. The canonical link for it is here.
Posted to users@activemq.apache.org by Paul Gale <pa...@gmail.com> on 2013/11/05 12:44:00 UTC

ActiveMQ STOMP documentation omission

Hi,

I've noticed that the STOMP documentation does not mention the 'read
heart-beat grace period multiplier' configuration option that was
introduced in 5.9.0.

Any chance someone could add that?

Thanks,
Paul

Re: ActiveMQ STOMP documentation omission

Posted by Christian Posta <ch...@gmail.com>.
Yep, I got it backward. I made the updates.

https://cwiki.apache.org/confluence/display/ACTIVEMQ/Stomp

Thanks for the contribution!

On Tue, Nov 5, 2013 at 9:10 AM, Paul Gale <pa...@gmail.com> wrote:
> Christian,
>
> If I may be so bold: would it be possible to use the definition below instead?
>
> AFAIK, this transport option is only applicable at the transport
> connector level?
>
> Thanks,
> Paul
> ______________________________
>
>
> "The STOMP protocol (version 1.1 or greater) defines the concept of
> heart beats as a method by which a client and broker can determine the
> health of the underlying TCP connection between them.
>
> ActiveMQ offers support for STOMP defined heart beating provided the
> client is using version 1.1 (or greater) of the protocol.  Prior to
> ActiveMQ 5.9.0, however, the enforcement of the 'read' heart-beat
> timeout (that is, a heart-beat sent from the client to the broker) was
> strict. In other words, the broker was intolerant of late arriving
> read heart-beats from the client. This resulted in the broker falsely
> concluding that the client was no longer present causing it to close
> its side of the client's connection.
>
> As of version 5.9.0 the timeout enforcement for read heart-beats is
> now configurable via a new transport option,
> 'transport.hbGracePeriodMultiplier':
>
> <transportConnectors>
>    <transportConnector name="stomp"
> uri="stomp://localhost:61613?transport.hbGracePeriodMultiplier=1.5"/>
> </transportConnectors>
>
> This multiplier is used to calculate the effective read heart-beat
> timeout the broker will enforce for each client's connection. The
> multiplier is applied to the read-timeout interval the client
> specifies in its CONNECT frame:
>
> <client specified read heart-beat interval> * <grace period
> multiplier> = <broker enforced read heart-beat timeout interval>
>
> For backward compatibility, if the grace period multiplier is not
> configured the default enforcement mode remains strict, e.g.,
> transport.hbGracePeriodMultiplier=1.0. Attempts to configure the grace
> period multiplier to a value less than, or equal to 1.0 will be
> silently ignored.
>
> STOMP clients, which are typically implemented using scripting
> languages like Ruby and Perl, that wish to be tolerant of late
> arriving heart-beats from the broker must implement their own solution
> for doing so."
>
>
> On Tue, Nov 5, 2013 at 9:08 AM, Christian Posta
> <ch...@gmail.com> wrote:
>> Done: https://cwiki.apache.org/confluence/display/ACTIVEMQ/Stomp
>>
>> Should propagate to the community wiki in a few hours.
>>
>>
>>
>> On Tue, Nov 5, 2013 at 4:44 AM, Paul Gale <pa...@gmail.com> wrote:
>>> Hi,
>>>
>>> I've noticed that the STOMP documentation does not mention the 'read
>>> heart-beat grace period multiplier' configuration option that was
>>> introduced in 5.9.0.
>>>
>>> Any chance someone could add that?
>>>
>>> Thanks,
>>> Paul
>>
>>
>>
>> --
>> Christian Posta
>> http://www.christianposta.com/blog
>> twitter: @christianposta



-- 
Christian Posta
http://www.christianposta.com/blog
twitter: @christianposta

Re: ActiveMQ STOMP documentation omission

Posted by Paul Gale <pa...@gmail.com>.
Christian,

If I may be so bold: would it be possible to use the definition below instead?

AFAIK, this transport option is only applicable at the transport
connector level?

Thanks,
Paul
______________________________


"The STOMP protocol (version 1.1 or greater) defines the concept of
heart beats as a method by which a client and broker can determine the
health of the underlying TCP connection between them.

ActiveMQ offers support for STOMP defined heart beating provided the
client is using version 1.1 (or greater) of the protocol.  Prior to
ActiveMQ 5.9.0, however, the enforcement of the 'read' heart-beat
timeout (that is, a heart-beat sent from the client to the broker) was
strict. In other words, the broker was intolerant of late arriving
read heart-beats from the client. This resulted in the broker falsely
concluding that the client was no longer present causing it to close
its side of the client's connection.

As of version 5.9.0 the timeout enforcement for read heart-beats is
now configurable via a new transport option,
'transport.hbGracePeriodMultiplier':

<transportConnectors>
   <transportConnector name="stomp"
uri="stomp://localhost:61613?transport.hbGracePeriodMultiplier=1.5"/>
</transportConnectors>

This multiplier is used to calculate the effective read heart-beat
timeout the broker will enforce for each client's connection. The
multiplier is applied to the read-timeout interval the client
specifies in its CONNECT frame:

<client specified read heart-beat interval> * <grace period
multiplier> = <broker enforced read heart-beat timeout interval>

For backward compatibility, if the grace period multiplier is not
configured the default enforcement mode remains strict, e.g.,
transport.hbGracePeriodMultiplier=1.0. Attempts to configure the grace
period multiplier to a value less than, or equal to 1.0 will be
silently ignored.

STOMP clients, which are typically implemented using scripting
languages like Ruby and Perl, that wish to be tolerant of late
arriving heart-beats from the broker must implement their own solution
for doing so."


On Tue, Nov 5, 2013 at 9:08 AM, Christian Posta
<ch...@gmail.com> wrote:
> Done: https://cwiki.apache.org/confluence/display/ACTIVEMQ/Stomp
>
> Should propagate to the community wiki in a few hours.
>
>
>
> On Tue, Nov 5, 2013 at 4:44 AM, Paul Gale <pa...@gmail.com> wrote:
>> Hi,
>>
>> I've noticed that the STOMP documentation does not mention the 'read
>> heart-beat grace period multiplier' configuration option that was
>> introduced in 5.9.0.
>>
>> Any chance someone could add that?
>>
>> Thanks,
>> Paul
>
>
>
> --
> Christian Posta
> http://www.christianposta.com/blog
> twitter: @christianposta

Re: ActiveMQ STOMP documentation omission

Posted by Christian Posta <ch...@gmail.com>.
Done: https://cwiki.apache.org/confluence/display/ACTIVEMQ/Stomp

Should propagate to the community wiki in a few hours.



On Tue, Nov 5, 2013 at 4:44 AM, Paul Gale <pa...@gmail.com> wrote:
> Hi,
>
> I've noticed that the STOMP documentation does not mention the 'read
> heart-beat grace period multiplier' configuration option that was
> introduced in 5.9.0.
>
> Any chance someone could add that?
>
> Thanks,
> Paul



-- 
Christian Posta
http://www.christianposta.com/blog
twitter: @christianposta