I'm using the ruby stomp client (stomp-1.0.1) to connect to ActiveMQ-4.0-M4
and am getting the following exception when I try to send a message to AMQ.  

Here's a minimal client that reproduces the problem:

#!/usr/bin/env ruby -w

require 'rubygems'
require 'stomp'

client = Stomp::Client.open
client.subscribe "/queue/sample" do |message|
    puts msg.inspect
end
client.send "/queue/sample", "hello world"
gets
client.close

And here's the stack trace from the ActiveMQ server:

- Async error occurred: java.io.IOException: Message body is write-only
java.io.IOException: Message body is write-only
        at
org.apache.activemq.util.IOExceptionSupport.create(IOExceptionSupport.java:42)
        at
org.apache.activemq.transport.stomp.StompWireFormat.marshal(StompWireFormat.java:298)
        at
org.apache.activemq.transport.tcp.TcpTransport.oneway(TcpTransport.java:117)
        at
org.apache.activemq.transport.MutexTransport.oneway(MutexTransport.java:44)
        at
org.apache.activemq.transport.ResponseCorrelator.oneway(ResponseCorrelator.java:54)
        at
org.apache.activemq.broker.TransportConnection.dispatch(TransportConnection.java:212)
        at
org.apache.activemq.broker.AbstractConnection.iterate(AbstractConnection.java:551)
        at
org.apache.activemq.thread.SimpleTaskRunner.runTask(SimpleTaskRunner.java:110)
        at
org.apache.activemq.thread.SimpleTaskRunner.access$100(SimpleTaskRunner.java:25)
        at
org.apache.activemq.thread.SimpleTaskRunner$1.run(SimpleTaskRunner.java:43)
        at
edu.emory.mathcs.backport.java.util.concurrent.ThreadPoolExecutor$Worker.runTask(ThreadPoolExecutor.java:650)
        at
edu.emory.mathcs.backport.java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:675)
        at java.lang.Thread.run(Thread.java:613)
Caused by: javax.jms.MessageNotReadableException: Message body is write-only
        at
org.apache.activemq.command.ActiveMQBytesMessage.checkWriteOnlyBody(ActiveMQBytesMessage.java:706)
        at
org.apache.activemq.command.ActiveMQBytesMessage.initializeReading(ActiveMQBytesMessage.java:711)
        at
org.apache.activemq.command.ActiveMQBytesMessage.getBodyLength(ActiveMQBytesMessage.java:151)
        at
org.apache.activemq.transport.stomp.Subscription.receive(Subscription.java:78)
        at
org.apache.activemq.transport.stomp.StompWireFormat.writeCommand(StompWireFormat.java:143)
        at
org.apache.activemq.transport.stomp.StompWireFormat.marshal(StompWireFormat.java:294)
--
View this message in context: 
http://www.nabble.com/exception-from-Stomp-t1409177.html#a3795119
Sent from the ActiveMQ - User forum at Nabble.com.

Reply via email to