Py学习  »  MQ

原因:com.rabbitmq.client.shutdownsignalexception:通道错误;协议方法:

Tomoiaga Cătălin Alexandru • 4 年前 • 706 次点击  

我有一个关于RabitMQ JAVA队列的错误当我试图运行客户机时,他抛出了这个异常。

Exception in thread "main" java.io.IOException
at com.rabbitmq.client.impl.AMQChannel.wrap(AMQChannel.java:106)
at com.rabbitmq.client.impl.AMQChannel.wrap(AMQChannel.java:102)
at com.rabbitmq.client.impl.ChannelN.basicConsume(ChannelN.java:1107)
at com.rabbitmq.client.impl.ChannelN.basicConsume(ChannelN.java:1075)
at com.rabbitmq.client.impl.ChannelN.basicConsume(ChannelN.java:1059)
at rabbit.consumer.ConsumerDVD.main(ConsumerDVD.java:52)

原因:com.rabbitmq.client.shutdownsignalexception:通道错误;协议方法:方法(应答代码=404,应答文本=未找到-vhost'/'中没有队列“hello”,类ID=60,方法ID=20) 在com.rabbitmq.utility.ValueOrException.getValue(ValueOrException.java:67) 在com.rabbitmq.utility.BlockingValueOrException.unterruptiblegetvalue(BlockingValueOrException.java:33) 在com.rabbitmq.client.impl.amqchannel$blockingRpcContinuation.getreply(amqchannel.java:361) 在com.rabbitmq.client.impl.ChannelN.basicConsume(ChannelN.java:1105) …3个以上 原因:com.rabbitmq.client.shutdownsignalexception:通道错误;协议方法:方法(应答代码=404,应答文本=未找到-vhost'/'中没有队列“hello”,类ID=60,方法ID=20) 在com.rabbitmq.client.impl.ChannelN.asynchshutdown(ChannelN.java:484) 在com.rabbitmq.client.impl.ChannelN.processAsync(ChannelN.java:321) 在com.rabbitmq.client.impl.AMQChannel.handleCompleteInboundCommand上(AMQChannel.java:144) 在com.rabbitmq.client.impl.AMQChannel.handleFrame上(AMQChannel.java:91) 在com.rabbitmq.client.impl.AMQConnection$MainLoop.run(AMQConnection.java:554) 运行(thread.java:748)

部分代码:

public class ConsumerDVD {
private final static String QUEUE_NAME = "hello";
private static Writer writer;
 Consumer consumer = new DefaultConsumer(channel) {
        @Override
        public void handleDelivery(String consumerTag, Envelope envelope, AMQP.BasicProperties properties, byte[] body)
            throws IOException {
            DVD dvd = DVD.fromBytes(body);
            System.out.println(" [x] Received '" + dvd.toString() + "'");
            mailService.sendMail("cata1096@yahoo.com","Dvd has been added -- Rabbit!", dvd.toString());
            writeToFile(dvd); 
        }
        };
    channel.basicConsume(QUEUE_NAME, true, consumer);
Python社区是高质量的Python/Django开发社区
本文地址:http://www.python88.com/topic/48387
 
706 次点击