History | Log In     View a printable version of the current page.  
Issue Details (XML | Word | Printable)

Key: AMQ-978
Type: Bug Bug
Status: Resolved Resolved
Resolution: Fixed
Priority: Major Major
Assignee: Hiram Chirino
Reporter: Sileshi Kassa
Votes: 0
Watchers: 1
Operations

If you were logged in you would be able to see more operations.
ActiveMQ

No Messaged delivery when mixing Perl stomp client Producer/Consumer and Java JMS Producer/Consumer

Created: 15/Oct/06 11:49 AM   Updated: 25/Oct/06 01:40 PM
Component/s: Connector
Affects Version/s: None
Fix Version/s: 4.1.0, 4.0.2

Time Tracking:
Not Specified

File Attachments:
  Size
Text File Licensed for inclusion in ASF works Net-Stomp-0.31-bytemessage-support.patch 2006-10-19 09:53 PM Hiram Chirino 3 kb
File Licensed for inclusion in ASF works Net-Stomp-0.31-bytemessage-support.sileshi-patch 2006-10-23 02:06 PM Sileshi Kassa 4 kb
Text File Publisher.pl 2006-10-15 11:49 AM Sileshi Kassa 1 kb
Text File Subscriber.pl 2006-10-15 11:49 AM Sileshi Kassa 1.0 kb
Environment:
This problem seems platform independent: It happens in Linux, Mac OSX, and Windows.
Software Used: ActiveMQ 4.0, Java 5.0, JMS, Perl 5.8.7, Perl CPAN module Net-Stomp-0.31


 Description  « Hide
Facts: Perl Stomp client Producer and Consumer works fine
Java JMS client Producer and Consumer works fine

I have also used other Perl Stomp protocol implementation with no problem.
The problem happens when I mix Java and Perl clients

Scenario Test 1:
A. Perl Stomp client Consumer
B. Java JMS client Producer

Scenario Test 2:
A. Java JMS client Consumer
B. Perl Stomp client Producer

I have looked into it via Java JMX management jconsole, and it seems to me there is a wall between
the stomp server and default server. It the stomp server only passes messages coming from stomp lients
and default server also does the same.

If this is truly the case, and this is by design, I will be very disappointed. There should not be any wall.
A message is message irrespective of its source and should be delivered to any one that is listening
on the same destination.

I will attach the Perl clients testcases.
For Java client, a simple JMS client Producer and Consumer with the same topic used as
the perl side will do the job. The topic I used on the perl side: "/topic/Test.CrossDelivery"
and the Java side topic is "Test.CrossDelivery"
This problem is a show stopper for us.



 All   Comments   Work Log   Change History   Subversion Commits   FishEye   Crucible      Sort Order: Ascending order - Click to sort in descending order
Sileshi Kassa - 19/Oct/06 06:52 AM
I now know the reason why Java JMS client message I was sending to
Perl Stomp client did not get to Perl side. The reason is the Java JMS
client sending Bytes message and The Net::Stomp module's receive_frame()
could not read the socket. Everytime it reads zero length bytes.

But if I sent Text message from the JMS client, no problem receiving it
on the Perl side.

This seems to be more of the Net::Stomp package problem
with binary data which I need to debug and file report.

Therefore, we need to close this bug report as invalid.


Sileshi Kassa - 19/Oct/06 06:53 AM
This is not ActiveMQ problem as such. This is more of the
Perl Net::Stomp package dealing with binary data
reading.

Hiram Chirino - 19/Oct/06 09:53 PM
I've made a modification to the Net::Stomp 0.31 package so that it can support receiving TextMessage and ByteMessages. We need to feed this back to the upstream maintainer so that it can get back on CPAN.

Sileshi Kassa - 23/Oct/06 02:06 PM
I have reviewed Hiram's patch and it is fine. I have tested mine and
will make it available. I will let Leon handle the two patches
to choose from.