activemq-dev mailing list archives

Site index · List index
Message view « Date » · « Thread »
Top « Date » · « Thread »
From "Ian Levesque (JIRA)" <j...@apache.org>
Subject [jira] Commented: (AMQ-1072) "TimeToLive" doesn't work on MessageListener
Date Tue, 24 Jul 2007 15:06:49 GMT

    [ https://issues.apache.org/activemq/browse/AMQ-1072?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel#action_39752
] 

Ian Levesque commented on AMQ-1072:
-----------------------------------

I believe this issue may be related to the behavior I'm observing.  Maybe this is the desired
implementation, but it appears to me that in 4.1.1 (possibly others) timeToLive is only enforced
by the MessageConsumer receive() method, not the MessageProducer.  This has (for me) the undesired
side effect of allowing expired messages to pile up in the MessageProducer queue until the
JVM runs out of RAM and the application fails unless a MessageConsumer is connected.  This
would also cause MessageListeners to receive all messages, expired or not.

Is that behavior intended?

> "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: 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.


Mime
View raw message