Yeah, I'd try 4.0.2 or 4.1 if you are using Stomp as there's been more
fixes since 4.0.1

On 10/22/06, sileshi <[EMAIL PROTECTED]> wrote:

I have discussed in the entry below how I patched the Perl Net::Stomp module
to
exchange Bytes Message. Visit the link below for details.
http://www.nabble.com/Stomp-in-Perl%3A-Net%3A%3AStomp-tf2478545.html#a6943843

I'm now running ActiveMQ 4.0.1 and still have a problem with  Java JMS Bytes
Message
to Perl Stomp client. Is ActiveMQ 4.1 fixes this Stomp server problem?

-Sileshi


Hiram Chirino wrote:
>
> On 10/20/06, sileshi <[EMAIL PROTECTED]> wrote:
>>
>>
>> I have achieved Perl Stomp and Java JMS clients exchanging Text Messages
>> via
>> ActiveMQ. That is wonderful!
>
>
>
> great!
>
>
> Where I have run into a problem is in the reas of sending message that
>> involves
>> JMS BytesMessage from Java JMS client to destination a Perl Stomp client
>> consumes. I have discovered the AMQ Stomp server doesn't seem to write to
>> the
>> socket in this case.
>
>
> He had a little bug in our code that was recently fixed.  If you build
> activemq 4.0.x-SNAPSHOT or 4.1-SNAPSHOT from source it should be able to
> send message to the stomp client.
>
> I have debugged this through the Net::Stomp receive_frame() method where
> the
>> socket is ready for read, but we read zero bytes everytime. Note that,
>> this
>> happens
>> only with JMS BytesMessage. JMS Text Message can be exchanged between
>> perl
>> and
>> java clients with no problem.
>
>
>
> yep.
>
>
> I have eliminated the fact this is not socket problem with binary data, by
>> sending
>> binary data between Perl clients. Note that Stomp being text protocl,
>> thus
>> does not
>> take into consideration that fact that the content or body of message
>> could
>> be
>> non-text data. Therefore, if you send perl-to-perl binary data(in body
>> only), the socket
>> read stops too soon, due to Net::Stomp receive_frame() thinks it is end
>> of
>> frame
>> when runs into null byte.
>
>
>
> yep.  For stomp to send binary data that has embeded nulls, you have to
> set
> a
> content-length header.
>
> This indicates to me, that the following changes may be required:
>>
>> 1. Stomp Protocl
>>     a. Add either new header or extended header for message body encoding
>>         content-encoding: base64, text, etc...
>>         content-length: length of message body in bytes
>
>
> yep. we chose content-length
>
> 2. ActiveMQ support
>>     ActiveMQ Broker need to add conetnt encoding and length when passing
>>     message to Stomp Server. This is true when Stomp Server passes it to
>>     broker
>
>
>
> Yep.. when ActiveMQ sees STOMP message with content-length it assumes it's
> a
> BytesMessage and when it gets a BytesMessage it sets the content-length
> header on the stomp frame.
>
> 3. Stomp protocol implementation
>>      Need to change the way incoming socket data is read
>>      based on content-length and content-encoding.
>
>
> Some stomp clients allready support this.  I have recently submitted a
> patch
> for perl Net::Stomp client so that it supports this too.  If you want to
> apply the patch yourself, please see:
>
> http://issues.apache.org/activemq/browse/AMQ-978
>
>
> You may ask, why do I need to send binary message body?
>> I'm trying to build RPC over the JMS Message Broker using a binary
>> protocol on top of Stomp. Thus, RPC call has to be
>> marshalled, let's say using BER, and will be envolped in Stomp and
>> sent via Mesage Broker to a Java server.
>
>
> sounds great!
>
>
> Any thought will be welcomed...
>
>
> We were thinking along the same lines.. It's just a matter of waiting for
> all the fixes to get release.
>
>
> -Sileshi
>> --
>> View this message in context:
>> 
http://www.nabble.com/AMQ-Missing-JMS-Bytes-Message-on-stomp-tf2483639.html#a6925742
>> Sent from the ActiveMQ - User mailing list archive at Nabble.com.
>>
>>
>
>
> --
> Regards,
> Hiram
>
> Blog: http://hiramchirino.com
>
>

--
View this message in context: 
http://www.nabble.com/AMQ-Missing-JMS-Bytes-Message-on-stomp-tf2483639.html#a6944144
Sent from the ActiveMQ - User mailing list archive at Nabble.com.




--

James
-------
http://radio.weblogs.com/0112098/

Reply via email to