[ 
https://issues.apache.org/jira/browse/QPID-7603?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=15867488#comment-15867488
 ] 

Keith Wall commented on QPID-7603:
----------------------------------

Commits 1782442, 1782442, 1782896  were intended for QPID-7622

> [AMQP 1.0] Maximum Delivery Count/Dead-lettering
> ------------------------------------------------
>
>                 Key: QPID-7603
>                 URL: https://issues.apache.org/jira/browse/QPID-7603
>             Project: Qpid
>          Issue Type: Improvement
>          Components: Java Broker
>            Reporter: Keith Wall
>             Fix For: qpid-java-7.0
>
>
> Placeholder for Maximum Delivery Count/Dead-lettering support.
> The current implementation in the Broker is incomplete.  I notice the 
> following areas.  There may be more.
> * The protocol layer needs to trigger the MessageInstance#routeToAlternate
> * Handling of the {{Rejected}} outcome is absent. 
> http://docs.oasis-open.org/amqp/core/v1.0/os/amqp-core-messaging-v1.0-os.html#type-rejected
> * Implement handling of default outcomes.
> * AMQP 1.0 Conversion layer should set Header#setDeliveryCount()
> * I note that the AMQP 0-8..0-10 protocol layers use the 
> MessageInstance#deliveryCount differently to the AMQP 1.0 protocol layer.    
> This will need some care to ensure that protocol's play nicely together.
> ** AMQP 0-8..0-10 the delivery count is incremented _before_ the consumer 
> send and then it is reduced if the client returns the message indicating the 
> message is unseen.
> ** AMQP 1.0 specification defines Header field {{delivery-count}} as "The 
> number of unsuccessful previous attempts to deliver this message. If this 
> value is non-zero it can be taken as an indication that the delivery might be 
> a duplicate. On first delivery, the value is zero. It is incremented upon an 
> outcome being settled at the sender, according to rules defined for each 
> outcome.". Currently the AMQP protocol layer populates {{delivery-count}} 
> with {{MessageInstance#deliveryCount}} and it only increments 
> MessageInstance#deliveryCount after the message  is rejected.
> Also verify:
> * Behaviour when the session is rolled back or the recovered.
> * Behaviour when the session or connection is closed.
> * Behaviour when the connection is abruptly dropped.



--
This message was sent by Atlassian JIRA
(v6.3.15#6346)

---------------------------------------------------------------------
To unsubscribe, e-mail: [email protected]
For additional commands, e-mail: [email protected]

Reply via email to