Versions Compared

Key

  • This line was added.
  • This line was removed.
  • Formatting was changed.

...

The failover functionality on Qpid client should be based on principle "stop the world". When connection is lost and faiolver failover is started the Qpid Client should not allow an invocation of JMS operations which requires sending or receiving data over the network (such as producer.send(), connection.createSession(), consumer#receive etc). Such operations should be blocked until failover functionality restores the connectivity with any of the supported failover methods ('singlebroker', 'roundrobin', 'failover_exchange').

...

How to configure failover with connection URL is depicted in [ Connection URL Format |https://cwiki.apache.org/qpid/connection-url-format.html] (This document describes all existing failover methods and their configuration options).

...

The spec allows for redelivery of this message:"

4.4.14 Duplicate Delivery of Messages
...

When a client uses the AUTO_ACKNOWLEDGE mode it is not in direct control of message acknowledgment. Since such clients cannot know for certain if a particular message has been acknowledged, they must be prepared for re-delivery of the last consumed message. This can be caused by the client completing its work just prior to a failure that prevents the message acknowledgment from occurring. Only a session’s last consumed message is
subject to this ambiguity.

...

Any call to recover() performed following failover should be successfull, as the failover occurrence was already notified through the ExceptionListener if there was one, and the request to recover() would result in cleaning the Session and resuming message delivery with the first message sent by the new broker.

...