activemq-users mailing list archives

Site index · List index
Message view « Date » · « Thread »
Top « Date » · « Thread »
From Jeff Rose <>
Subject Re: ajax handling fast messages
Date Mon, 10 Jan 2011 11:02:49 GMT
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.


  • Unnamed multipart/alternative (inline, None, 0 bytes)
View raw message