activemq-users mailing list archives

Site index · List index
Message view « Date » · « Thread »
Top « Date » · « Thread »
From Alex Dean <a...@crackpot.org>
Subject Re: multiple ajax clients in the same browser?
Date Mon, 11 Oct 2010 18:36:07 GMT
No trouble.  Just wanted to keep it on the radar.

On Oct 11, 2010, at 12:14 PM, Dejan Bosanac wrote:

> Hi Alex,
> 
> it was a busy week, so I didn't get to take a look at it yet. I'll try
> to do it this week.
> 
> Cheers
> --
> Dejan Bosanac - http://twitter.com/dejanb
> 
> Open Source Integration - http://fusesource.com/
> ActiveMQ in Action - http://www.manning.com/snyder/
> Blog - http://www.nighttale.net
> 
> 
> 
> On Mon, Oct 11, 2010 at 4:33 PM, Alex Dean <alex@crackpot.org> wrote:
>> Has anyone had a chance to review this patch yet?  https://issues.apache.org/activemq/browse/AMQ-2948
>> 
>> thanks,
>> alex
>> 
>> On Oct 1, 2010, at 8:38 AM, Alex Dean wrote:
>> 
>>> Great, thanks Dejan.
>>> 
>>> One issue I have noticed with this change:  Sometimes when I close a browser
window which is using amq.js, I start seeing messages like this in my debugging log...
>>> 
>>> DEBUG | message for ActiveMQMessageConsumer { value=ID:rutabaga.local-65016-1285865065176-4:3:1:1,
started=true }continuation=org.eclipse.jetty.server.AsyncContinuation@267f59c7@IDLE,initial
>>> DEBUG | Async client internal exception occurred with no exception listener registered:
java.lang.IllegalStateException: IDLE,initial
>>> java.lang.IllegalStateException: IDLE,initial
>>>       at org.eclipse.jetty.server.AsyncContinuation.dispatch(AsyncContinuation.java:364)
>>>       at org.eclipse.jetty.server.AsyncContinuation.resume(AsyncContinuation.java:756)
>>>       at org.apache.activemq.web.AjaxListener.onMessageAvailable(AjaxListener.java:50)
>>>       at org.apache.activemq.ActiveMQMessageConsumer.dispatch(ActiveMQMessageConsumer.java:1250)
>>>       at org.apache.activemq.ActiveMQSessionExecutor.dispatch(ActiveMQSessionExecutor.java:134)
>>>       at org.apache.activemq.ActiveMQSessionExecutor.iterate(ActiveMQSessionExecutor.java:205)
>>>       at org.apache.activemq.thread.DedicatedTaskRunner.runTask(DedicatedTaskRunner.java:98)
>>>       at org.apache.activemq.thread.DedicatedTaskRunner$1.run(DedicatedTaskRunner.java:36)
>>> 
>>> This is repeated periodically, until the cleanup Timer/TimerTask runs, then these
messages cease.  It seems like maybe I need to be cleaning up the Continuation used by AjaxListener
somehow?  The fact that this only happens for an abandoned web client, and is resolved when
the cleanup thread runs, made me think it's not critical, but I'd still like to figure out
why it's happening.
>>> 
>>> alex
>>> 
>>> On Oct 1, 2010, at 3:36 AM, Dejan Bosanac wrote:
>>> 
>>>> Thanks Alex,
>>>> 
>>>> I'll see to take a look at (and commit) it in the next couple of days.
>>>> 
>>>> 
>>>> Cheers
>>>> --
>>>> Dejan Bosanac - http://twitter.com/dejanb
>>>> 
>>>> Open Source Integration - http://fusesource.com/
>>>> ActiveMQ in Action - http://www.manning.com/snyder/
>>>> Blog - http://www.nighttale.net
>>>> 
>>>> 
>>>> 
>>>> On Thu, Sep 30, 2010 at 11:14 PM, Alex Dean <alex@crackpot.org> wrote:
>>>>> I attached a new (and hopefully much-improved) patch to this ticket.
 Reviews appreciated.
>>>>> 
>>>>> alex
>>>>> 
>>>>> On Sep 28, 2010, at 12:29 PM, Alex Dean wrote:
>>>>> 
>>>>>> I just submitted a patch to allow multiple windows in the same browser
to send/receive messages via ajax.
>>>>>> 
>>>>>> https://issues.apache.org/activemq/browse/AMQ-2948
>>>>>> 
>>>>>> alex
>>>>>> 
>>>>>> On Sep 13, 2010, at 10:48 AM, Dejan Bosanac wrote:
>>>>>> 
>>>>>>> Hi Alex,
>>>>>>> 
>>>>>>> with REST API (which shares some common code with Ajax stuff),
you can
>>>>>>> send clientId parameter to create/use client with the specified
id
>>>>>>> (and not be tied to the session). IMHO it should work the same
with
>>>>>>> Ajax API, so you can try with that for starters. If it doesn't
work,
>>>>>>> take a look at MessageListenerServlet
>>>>>>> 
>>>>>>> http://fisheye6.atlassian.com/browse/activemq/trunk/activemq-web/src/main/java/org/apache/activemq/web/MessageListenerServlet.java?r=HEAD
>>>>>>> 
>>>>>>> as that is where's the most of the server side logic is implemented.
>>>>>>> 
>>>>>>> If you need to look at the REST Servlet for the reference, take
a look at
>>>>>>> 
>>>>>>> http://fisheye6.atlassian.com/browse/activemq/trunk/activemq-web/src/main/java/org/apache/activemq/web/MessageServlet.java?r=HEAD
>>>>>>> 
>>>>>>> Cheers
>>>>>>> --
>>>>>>> Dejan Bosanac - http://twitter.com/dejanb
>>>>>>> 
>>>>>>> Open Source Integration - http://fusesource.com/
>>>>>>> ActiveMQ in Action - http://www.manning.com/snyder/
>>>>>>> Blog - http://www.nighttale.net
>>>>>>> 
>>>>>>> 
>>>>>>> 
>>>>>>> On Mon, Sep 13, 2010 at 3:46 PM, Alex Dean <alex@crackpot.org>
wrote:
>>>>>>>> I'd be interested in attempting a fix for this problem. 
Please send along
>>>>>>>> any information you think would help me get started.
>>>>>>>> 
>>>>>>>> thanks,
>>>>>>>> alex
>>>>>>>> 
>>>>>>>> On Sep 13, 2010, at 3:25 AM, Dejan Bosanac wrote:
>>>>>>>> 
>>>>>>>>> Hi Alex,
>>>>>>>>> 
>>>>>>>>> unfortunately this is not supported at the moment as
listeners are
>>>>>>>>> tied to the session. The right approach would be to use
some clientId
>>>>>>>>> defined in your application, like we have for REST and
pass it to the
>>>>>>>>> servlet. If you're interested in taking a stab at implementing
this, I
>>>>>>>>> can point you to the code that should be improved.
>>>>>>>>> 
>>>>>>>>> Cheers
>>>>>>>>> --
>>>>>>>>> Dejan Bosanac - http://twitter.com/dejanb
>>>>>>>>> 
>>>>>>>>> Open Source Integration - http://fusesource.com/
>>>>>>>>> ActiveMQ in Action - http://www.manning.com/snyder/
>>>>>>>>> Blog - http://www.nighttale.net
>>>>>>>>> 
>>>>>>>>> 
>>>>>>>>> 
>>>>>>>>> On Fri, Sep 10, 2010 at 6:46 PM, Alex Dean <alex@crackpot.org>
wrote:
>>>>>>>>>> 
>>>>>>>>>> I have been testing a web page displaying activemq
data via the AJAX
>>>>>>>>>> interface with AMQ 5.4.  It works great when I have
a single window open.
>>>>>>>>>> If I open the same page in a new browser window or
tab, the new
>>>>>>>>>> window/tab
>>>>>>>>>> updates correctly but the previously-open one stops
updating.
>>>>>>>>>> 
>>>>>>>>>> Firebug/Firefox in the previously-opened window starts
reporting errors
>>>>>>>>>> like
>>>>>>>>>> "No handler found to match message with id = display43066495".
>>>>>>>>>> 'display43066495' is the id used by the newly-opened
window.  I had
>>>>>>>>>> tried
>>>>>>>>>> ensuring that both windows opened with unique ids,
but this hasn't solved
>>>>>>>>>> the problem.
>>>>>>>>>> 
>>>>>>>>>> I imagine this is due to the fact that both windows
share the same
>>>>>>>>>> session
>>>>>>>>>> id on the broker.  Is there a way to work around
this problem, so I can
>>>>>>>>>> have
>>>>>>>>>> multiple windows open to the same amq/ajax-connected
page?
>>>>>>>>>> 
>>>>>>>>>> thanks,
>>>>>>>>>> alex
>>>>>>>>>> 
>>>>>>>>> 
>>>>>>>> 
>>>>>>>> 
>>>>>>> 
>>>>>> 
>>>>>> 
>>>>> 
>>>>> 
>>>> 
>>> 
>>> 
>> 
>> 
> 


Mime
View raw message