activemq-users mailing list archives

Site index · List index
Message view « Date » · « Thread »
Top « Date » · « Thread »
From Alex Dean <>
Subject Re: ajax handling fast messages
Date Mon, 10 Jan 2011 15:57:59 GMT

On Jan 10, 2011, at 5:02 AM, Jeff Rose wrote:

> On Sat, Jan 8, 2011 at 2:11 AM, Alex Dean <> wrote:
> On Dec 14, 2010, at 9:48 AM, Jeff Rose wrote:
> > Hi Alex,
> >  Thanks for the response.  We looked into it a bit more based on your
> > suggestion, and we discovered that there is an error occurring when the
> > continuation is resumed in onMessageAvailable in  It
> > looks like this onMessageAvailable handler is being called every time a new
> > message arrives on the queue, and then it is trying to resume a continuation
> > that has already been resumed, which causes an illegal state exception.
> > We've been trying to fix the bug  by checking first:
> >
> >   !continuation.isResumed()
> >
> > but we are still getting the error occasionally (although it does often get
> > all of the messages now).  This seems to be a pretty fundamental bug in the
> > AJAX support of ActiveMQ.  Definitely worth posting a ticket (although I
> > don't know where that is done).
> Jeff: I attached a patch to AMQ-3094 which I think fixes this problem.  A continuation
can be in more states than just initial & resumed, so checking !continuation.isResumed()
can still result in illegal state exceptions.  I changed your suggestion so AjaxListener only
tries to resume a continuation "if( continuation.isSuspended() )".  Otherwise it buffers the
message for delivery in the next poll (building on some code Dejan committed a few days ago).
> Let me know if you have time to test this patch, and if it solves the issue for you.
 It looks good in my tests so far.
> Hi Alex,
>   I'm not able to apply your patch, either to the latest from SVN or to revision 1052368
which is specified in the patch.  For example, in I don't have
any reference to the unconsumedMessages linked list.  Can you generate the patch against the
latest from SVN so I can give it a try?  I've got everything setup again to test with my initial
PHP and javascript configuration.

Sure.  I'll update to trunk HEAD and re-send the patch.

unconsumedMessages was added to AjaxListener in r1052259, so if you've got HEAD you should
have it.

Updated patch (now based on trunk r1057227) is at

View raw message