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/