[rabbitmq-discuss] Channel Error - 404
Robbie Clutton
robert.clutton at gmail.com
Mon Feb 2 08:03:23 GMT 2009
Hi,
I'm just having a play with RabbitMQ and I'm getting some connection
issues when connecting with Java, however, if I connect with a Ruby
client to the same channel it's fine, and then it seems to create the
channel and the Java client plays nicely after that. Am I missing
some 'create channel' call?
Cheers Robbie
ConnectionParameters params = new ConnectionParameters();
params.setRequestedHeartbeat(0);
ConnectionFactory factory = new ConnectionFactory(params);
Connection conn = factory.newConnection("localhost");
Channel channel = conn.createChannel();
channel.exchangeDeclare("allqueues", "direct");
channel.queueDeclare("queue name");
channel.queueBind("queue name", "all queues", "routingKey");
byte[] messageBodyBytes = "Hello, world!".getBytes();
channel.basicPublish("all queues", "routingKey", null, messageBodyBytes);
Ruby:
require 'mq'
require 'pp'
EM.run do
connection = AMQP.connect(:host => 'localhost', :logging => false)
channel = MQ.new(connection)
queue = MQ::Queue.new(channel, 'queue name')
exchange = MQ::Exchange.new(channel, :fanout, 'all queues')
queue.bind(exchange)
exchange.publish('<transcribe id=\"something\"/>')
exchange.publish('some more stuff')
end
Here's the exception I get from the Java client:
com.rabbitmq.client.ShutdownSignalException (channel error; reason:
{#method<channel.close>(reply-code=404,reply-text=NOT_FOUND - no
exchange 'all queues' in vhost '/',class-id=50,method-id=20),null,""})
at com.rabbitmq.client.impl.ChannelN.processAsync(ChannelN.java:191)
at com.rabbitmq.client.impl.AMQChannel.handleCompleteInboundCommand(AMQChannel.java:159)
at com.rabbitmq.client.impl.AMQChannel.handleFrame(AMQChannel.java:110)
at com.rabbitmq.client.impl.AMQConnection$MainLoop.run(AMQConnection.java:456)
More information about the rabbitmq-discuss
mailing list