activemq-users mailing list archives

Site index · List index
Message view « Date » · « Thread »
Top « Date » · « Thread »
From Dejan Bosanac <de...@nighttale.net>
Subject Re: multiple ajax clients in the same browser?
Date Wed, 13 Oct 2010 11:56:55 GMT
Just committed it. Thanks for the great work. More comments can be
found in Jira.

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 8:36 PM, Alex Dean <alex@crackpot.org> wrote:
> 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