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, 15 Sep 2010 08:16:35 GMT
Thank Alex,

I'll see to commit it soon.

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 Tue, Sep 14, 2010 at 9:58 PM, Alex Dean <alex@crackpot.org> wrote:
> I submitted an updated patch for
> https://issues.apache.org/activemq/browse/AMQ-2874 with the change described
> below.
>
> alex
>
> On Sep 14, 2010, at 11:03 AM, Alex Dean wrote:
>
>> Thanks.  I will work on this as soon as I can.
>>
>> I submitted a change to the addListener() function in amq.js in
>> https://issues.apache.org/activemq/browse/AMQ-2874.  I added a 4th argument
>> which allows a user to specify a selector.
>>
>>  addListener( 'handlerName', 'topic://test', function(msg){ /* callback */
>> }, "some-header='some-value'" )
>>
>> Since this clientId issue may end up requiring another value to be set
>> during an addListener() call, I wonder if that ought to be changed to
>> something more like:
>>
>>  addListener( 'handlerName', 'topic://test', function(msg){ /* callback */
>> }, { selector:"some-header='some-value'" } )
>>
>> That would allow the 4th parameter to contain other configuration as well,
>> in addition to a selector value.  Perhaps something like this:
>>
>>  addListener( 'handlerName', 'topic://test', function(msg){ /* callback */
>> }, { selector:"some-header='some-value'", clientId:"test-client" } )
>>
>> I will update the patch I attached to AMQ-2874 to make that work.
>>
>> 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