[ 
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.

Reply via email to