activemq-users mailing list archives

Site index · List index
Message view « Date » · « Thread »
Top « Date » · « Thread »
From Paul Gale <paul.n.g...@gmail.com>
Subject Re: ActiveMQ STOMP documentation omission
Date Tue, 05 Nov 2013 16:10:24 GMT
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
<christian.posta@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 <paul.n.gale@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

Mime
View raw message