activemq-users mailing list archives

Site index · List index
Message view « Date » · « Thread »
Top « Date » · « Thread »
From Dejan Bosanac <de...@nighttale.net>
Subject Re: messages sent via stomp are not received in ajax client
Date Mon, 12 Jul 2010 05:48:46 GMT
Hi Alex,

I think it's a bigger problem to pass and handle byte[] content in
JavaScript. All patches are welcomed, of course :)

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, Jul 9, 2010 at 11:55 PM, Alex Dean <adean@meteostar.com> wrote:
>
> On Jul 9, 2010, at 3:44 PM, Alex Dean wrote:
>
>>
>> On Jul 9, 2010, at 1:50 PM, Alex Dean wrote:
>>
>>> I have a Ruby script which publishes a message to an ActiveMQ topic via
>>> Stomp.  I'm attempting to send these messages to the topic used by the demo
>>> chat.html included in ActiveMQ, so I'm using the XML message format expected
>>> by that page.  chat.html is this one :
>>> http://fisheye6.atlassian.com/browse/activemq/branches/activemq-5.3/activemq-web-demo/src/main/webapp/chat.html?r=HEAD
>>
>> My problem appears to be the same one described here :
>> http://juretta.com/log/2009/05/24/activemq-jms-stomp/
>>
>> Stomp messages which include a content-length header are converted to
>> BytesMessages by ActiveMQ.  Messages without a content-length header are
>> converted to TextMessages.  TextMessages are delivered to JavaScript OK via
>> AJAX, but BytesMessages are not.
>>
>> If I hack the Ruby stomp code to not send a content-length header, my
>> Ruby-published messages start appearing in chat.html.  Is there a better way
>> to solve this problem?
>
> For a little more background, http://activemq.apache.org/stomp.html says
> that Stomp messages lacking a content-length header are converted to JMS
> TextMessage instances.  Messages containing a content-length header are
> converted to BytesMessage instances.  MessageListenerServlet.java makes no
> attempt to send a BytesMessage to an ajax client, hence the empty message
> when content-length is present.
>
> See writeMessageResponse in this class:
> http://fisheye6.atlassian.com/browse/activemq/branches/activemq-5.3/activemq-web/src/main/java/org/apache/activemq/web/MessageListenerServlet.java?r=HEAD
>
> I'm trying to determine if it's feasible to try to handle BytesMessage
> instances in MessageListenerServlet.  Perhaps via BytesMessage.readUTF8()?
>  I'm not very familiar with ActiveMQ or JMS, so I'm not sure what the
> implications of this might be.
>
> thanks,
> alex
>

Mime
View raw message