activemq-users mailing list archives

Site index · List index
Message view « Date » · « Thread »
Top « Date » · « Thread »
From Dejan Bosanac <de...@nighttale.net>
Subject Re: ajax handling fast messages
Date Wed, 15 Dec 2010 09:02:14 GMT
Hi Jeff, Alex,

having some kind of test that reproduces the issue would be great.
It'd be good to add something to the tests Alex already contributed

https://fisheye6.atlassian.com/browse/activemq/trunk/activemq-web-demo/src/main/webapp/test/amq_test.html?r=HEAD


Cheers
--
Dejan Bosanac
-----------------
FuseSource - The experts in open source integration and messaging.
Email: dejanb@fusesource.com
Web: http://fusesource.com
Twitter:  http://twitter.com/dejanb
ActiveMQ in Action - http://www.manning.com/snyder/
Blog - http://www.nighttale.net



On Tue, Dec 14, 2010 at 7:17 PM, Alex Dean <alex@crackpot.org> wrote:
> Hi Jeff.  That's great news.  I'm not very Java-savvy, but I've made a few patches
to the activemq ajax code in the past.  I've spent a bit of time lately trying to get junit
test cases working for testing MessageListenerServlet, so I haven't actually made much progress
in solving the issue at hand.  If you've found the error, that's fantastic.  Can you post
your patch?
>
> To get a ticket reported, use https://issues.apache.org/jira/secure/CreateIssue!default.jspa.
 You'll need to register before you can open an issue.  If you can attach a patch, I will
happily contribute to the testing effort.
>
> alex
>
> On Dec 14, 2010, at 10: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 AjaxListener.java.  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
>>
>>
>> On Fri, Dec 10, 2010 at 6:33 PM, Alex Dean <alex@crackpot.org> wrote:
>>
>>>
>>> On Dec 10, 2010, at 11:06 AM, Jeff Rose wrote:
>>>
>>>> Hi,
>>>> Based on the ajax chat example I've put together a small test page to
>>>> display messages that I post to a topic or queue using a php script.
>>> When I
>>>> send 10 messages in a for loop from PHP then the ajax handler is only
>>>> getting called with a couple of the messages though.  Looking at ActiveMQ
>>>> with jconsole I can see that all of the messages are getting taken off
>>> the
>>>> queue, but they don't all get to the browser.  Do I need to do something
>>>> special in order to make sure I get all of the messages?
>>>>
>>>> The relevant code is posted below.  Any thoughts or advice would be
>>>> appreciated.
>>>
>>> I've noticed the same issue recently.  If I publish 5 messages via a
>>> ruby+stomp publisher, I receive all 5 in a ruby+stomp consumer, but I only
>>> see 1 message in a javascript/ajax consumer. The <ajax-response> XML element
>>> always has only a single <response> element.  (I can see this in Firebug.)
>>> The admin webapp shows that all my messages are being de-queued, so I think
>>> the ajax servlet is picking up the messages but failing to deliver them to
>>> the browser.
>>>
>>> Just this morning I was poking around in the code trying to see what's
>>> going on.  I have a guess it's in MessageListenterServelet.doMessages().
>>> There's some code in there which should put multiple <response> elements
>>> into a single <ajax-response>, but it's not happening for some reason.
>>>
>>> Maybe we should open a ticket for this?
>>>
>>> alex
>
>

Mime
View raw message