You are viewing a plain text version of this content. The canonical link for it is here.
Posted to users@activemq.apache.org by Jakub Korab <ja...@gmail.com> on 2012/04/03 15:31:37 UTC

Re: Visibility timeout feature

Hi Arijit,

Visibility timeout is an Amazon SQS feature that is there specifically for
stateless distributed systems. The timeout is there to support a form of
pessimistic locking on the message, such that the message is redelivered if
a client that has received a message does not respond sufficiently quickly
or dies. This is necessary as there (after a quick browse through the docs)
is no persistent connection to the messaging service, and therefore the
service does not know when the client has gone away. Message delivery is
stateless.

JMS works on a different basis
(http://www.novell.com/documentation/extend52/Docs/help/MP/jms/concepts/details.html).
The broker knows the state of live client connections (it is stateful),
working off that information to prevent messages dispatched to those clients
from being resent to others. When a client receives the message, it is
acknowledged and subsequently removed from the broker. If the client sends a
poison-ack on failure, or disconnects before acknowledging, the message is
redelivered to another client. 

Since JMS connections are stateful, there is no need for a pessimistic
locking mechanism like visibility timeout. 

See
http://docs.oracle.com/javaee/1.4/api/javax/jms/Session.html#AUTO_ACKNOWLEDGE
and the other acknowledgement modes below it for further info.

Jakub


imarijitbose wrote
> 
> Hi,
> 
> Is visibility timeout feature is already part of the activemq?
> Is there anyway i can manipulate the visibility of a message from the
> consumers.
> 
> Thanks and Regards,
> Arijit
> 


--
View this message in context: http://activemq.2283324.n4.nabble.com/Visibility-timeout-feature-tp4525752p4528785.html
Sent from the ActiveMQ - User mailing list archive at Nabble.com.