The SlowAckConsumerAbortStrategy is definitely still live code.  But it
won't interrupt the client code; the broker will ask the client to abort,
but the client will finish processing the current message before honoring
the abort request.
On Mar 6, 2015 12:25 PM, "James A. Robinson" <j...@highwire.org> wrote:

> On Fri, Mar 6, 2015 at 8:37 AM, arun196 <arun.bi...@gmail.com> wrote:
> > I have a consumer that processes orders from messages received from
> activemq.
> > I would like to set a timeout in case the order processing takes over 5
> > minutes.
>
> I'm sorry, it's not clear to me from your description what
> it is that you are intending to effect with the timeout.
>
> Is the concern that the consumer has "gone away," and
> won't ever ack the message?  Or that the consumer is
> really really slow, but still working?  Is it possible that, if
> one waits long enough, that this 5+ minute message will
> finally be processed?
>
> Are you using transactions to handle the fetch/process/ack
> cycle?  I would think that would be one typical way to
> handle the problem, but your client has to handle the logic
> of deciding whether or not it can finally ack a message.
>
>
> http://www.javaworld.com/article/2074123/java-web-development/transaction-and-redelivery-in-jms.html
> http://activemq.apache.org/should-i-use-transactions.html
> http://activemq.apache.org/should-i-use-xa.html
> http://activemq.apache.org/redelivery-policy.html
>
> Looking around, I see that back in 5.9 the ActiveMQ folks
> introduced a broker-side configuration called
>
> abortSlowConsumerStrategy
>
> I'm not sure whether or not it's still active code, but
> here's an article discussing it when it was released:
>
>
> http://timbish.blogspot.com/2013/07/coming-in-activemq-59-new-way-to-abort.html
>
> If that's still available, it might be a way to force a
> timeout and redelivery if you know that the consumer
> has actually failed if it takes longer than specified
> time.
>
> Jim
>

Reply via email to