[
https://issues.apache.org/activemq/browse/AMQ-1072?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel
]
Dave Kosmal reopened AMQ-1072:
------------------------------
I believe this issue still exists.
The JmsSendReceiveWithMessageExpirationTest unit test verifies that messages
consumed with the receive() method expire properly. However, if a
MessageListener is configured, the messages are received long after they
expire. The unit test does not use a MessageListener, so it does not catch
this case.
BTW: This is probably the same issue as 936.
> "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
> Fix For: 4.1.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.