[
https://issues.apache.org/jira/browse/QPID-7872?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=16150590#comment-16150590
]
Alex Rudyy commented on QPID-7872:
----------------------------------
Lorenz,
The code as it stands checks whether message is expired before sending it to
the consumer. If message is expired, it is discarded, otherwise it is sent.
Thus, TTL can be set to "0" only when message expires after expiration check
but before putting it into wire. It is a "corner case". The spec defines TTL as
below
{quote}
Duration in milliseconds for which the message is to be considered “live”. If
this is set then
a message expiration time will be computed based on the time of arrival at an
intermediary.
Messages that live longer than their expiration time will be discarded (or dead
lettered).
{quote}
It seems, if TTL is set to 0, the receiver should consider it as being expired
and not as being "unset".
I think that no more work is needed for this JIRA.
> [Java Broker] [AMQP 1.0] Message expiry should be driven from ttl header only
> -----------------------------------------------------------------------------
>
> Key: QPID-7872
> URL: https://issues.apache.org/jira/browse/QPID-7872
> Project: Qpid
> Issue Type: Bug
> Components: Java Broker
> Reporter: Alex Rudyy
> Fix For: qpid-java-broker-7.0.0
>
>
> Java broker should only discard message with ttl header set if TTL expires
> including 0 values. Ensure TTL is adjusted before sending the message.
--
This message was sent by Atlassian JIRA
(v6.4.14#64029)
---------------------------------------------------------------------
To unsubscribe, e-mail: [email protected]
For additional commands, e-mail: [email protected]