[
https://issues.apache.org/activemq/browse/AMQ-1072?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=51062#action_51062
]
Santiago Urrizola commented on AMQ-1072:
----------------------------------------
Context:
3 host, (linux debian) all with DEFERENTS dates (not synchronized)
1- start a broker on machine 1
2- start a producer on machine 2
3- producer send a couple of messages with a short timeToLive (2 or 3 seconds)
4- wait for 5 seconds (or more)
5- start a messageListener on machine 3
6- surprisingly messageListener recveibe all the messages sent by producer in
step 3, when they should not (because of the timeToLive)
The problem is the host where the listener (consumer) runs have a date two or
three hours prior of the host for the consumer, and beacause off that the
Expiration is always greater than the Listener (consumer) date.
I think expiration should be managed entirelly in the broker not in clientes
(ActiveMQQueueReceiver, etc)
> "TimeToLive" doesn't work on MessageListener
> --------------------------------------------
>
> Key: AMQ-1072
> URL: https://issues.apache.org/activemq/browse/AMQ-1072
> Project: ActiveMQ
> Issue Type: Bug
> Components: JMS client
> Affects Versions: 4.0.1
> Reporter: Joseph Leung
> Assignee: Rob Davies
> Fix For: 5.0.0
>
>
> When a queue message is consumed using MessageListener throught the
> setMessageListener method,
> it could recieve the messages even if they are expired. (While using
> consumer.receive() will discard them).
> Reproduce Steps:
> 1. deliver a number of message to a queue with a short expire time.
> 2. wait until the message should be expired.
> 3. use MessageConsumer.receive() method to receive the messages,
> -- You should not receive any messages, and through the monitor console,
> you should see some
> messages are left and not discarded.
> 4. stop the receive() method.
> 5. add a MessageListener to the same queue, the messages which found left is
> received by the
> onMessage() method.
> ps. if step3 is skipped, likely you would receive all the expired message.
--
This message is automatically generated by JIRA.
-
You can reply to this email to add a comment to the issue online.