a consumer with unacked messages will lock those messages so they are not available to other consumers till that consumer closes. So in order to get redelivery you would need to engineer the timeout of the consumer. The broker does not implement a redelivery timeout for dispatched messages.
There is a facility to abort a slow consumer, so this could automate the closing or a consumer after some timeout. Have a look at the org.apache.activemq.broker.policy.AbortSlowConsumerTest in activemq-core for an example of what it can do. On 29 June 2011 00:37, Darren Govoni <dar...@ontrenet.com> wrote: > After some further study, it appears i need INDIVIDUAL_ACKNOWLEDGE mode. > > However, what is not clear is how or IF the message is re-delivered if it is > not acknowledged. > > What is AMQ's behavior in this regard? Does it use the JMS message timeout > before redelivery? > > Can someone verify this behavior works correctly in 5.5? > > On 06/28/2011 02:15 PM, Johan Edstrom wrote: >> >> Yes, it depends on how you acknowledge. >> >> AUTO, Client or Individual (This is an AMQ specific) >> Client == On the Session. >> >> >> On Jun 28, 2011, at 11:43 AM, Darren Govoni wrote: >> >>> Hi, >>> I want to allow consumers of a persistent queue to programmatically >>> acknowledge >>> messages. And after some time, if it is not acknowledge, I want the >>> message re-delivered >>> elsewhere. >>> >>> Are there examples of how to do this? Any tips appreciated. >>> >>> Thanks! >>> Darren > > -- http://fusesource.com http://blog.garytully.com