You are viewing a plain text version of this content. The canonical link for it is here.
Posted to users@activemq.apache.org by savaki <ma...@gmail.com> on 2006/04/07 01:28:40 UTC

exception from Stomp

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.


Re: exception from Stomp

Posted by savaki <ma...@gmail.com>.
Whooops.   

    puts msg.inspect 

should be

    puts message.inspect 

doesn't make difference to whether the exception gets thrown though.
--
View this message in context: http://www.nabble.com/exception-from-Stomp-t1409177.html#a3795135
Sent from the ActiveMQ - User forum at Nabble.com.


Re: exception from Stomp

Posted by James Strachan <ja...@gmail.com>.
This was fixed in 4.0-RC1 or 4.0-RC2 (I think the former)...

http://cvs.apache.org/repository/incubator-activemq/distributions/

On 4/7/06, savaki <ma...@gmail.com> wrote:
>
> 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.
>
>


--

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