• Caused by:com.rabbitmq.client.ShutdownSignalException: connection error;(reply-code=530, reply-text=NOT_ALLOWED


    学习rabbitMQ时 自己写了一个发送者 案例 运行后报错:

    Caused by: com.rabbitmq.client.ShutdownSignalException: connection error; protocol method: #method<connection.close>(reply-code=530, reply-text=NOT_ALLOWED - access to vhost '/' refused for user 'admin', class-id=10, method-id=40)

    代码如下:

    package helloWorld;
    
    import java.io.IOException;
    import java.util.concurrent.TimeoutException;
    
    import com.rabbitmq.client.Channel;
    import com.rabbitmq.client.Connection;
    import com.rabbitmq.client.ConnectionFactory;
    
    public class send {
    	private final static String QUEUE_NAME="hello";
    	public static void main(String[] args) throws IOException, TimeoutException {
    		//创建链接工厂
    		ConnectionFactory factory = new ConnectionFactory();
    		//设置rabbitMQ地址
    		factory.setHost("127.0.0.1");
    		factory.setUsername("admin");
    		factory.setPassword("123456");
    		//建立连接
    		Connection connection = factory.newConnection();
    		//获取信道
    		Channel channel = connection.createChannel();
    		//声明队列
    		channel.queueDeclare(QUEUE_NAME, false, false, false, null);
    		//发布消息
    		String message = "Hello World 2";
    		channel.basicPublish("", QUEUE_NAME	, null, message.getBytes("UTF-8"));
    		System.out.println("发送了消息"+message);
    		//关闭链接
    		channel.close();
    		connection.close();
    	}
    }
    

      从报错看应该获取链接时报错了 看了下我配置的 用户信息

    因为我的virtual host 自己学习的时候修改了下配置 不是默认的 / 改为 /1

    加上了代码 factory.setVirtualHost("/1");  重新测试可以成功发送了

  • 相关阅读:
    代码写界面的工厂类
    Masonry的一些等间距布局
    开发中的小细节随记
    ios7 实现应用内保真截屏
    利用GCD实现单利模式的宏代码
    AVAudioPlayer的锁屏播放控制和锁屏播放信息显示
    NSXMLParser自定义的一个xml解析工具
    利用NSURLSession完成的断点续传功能
    AVFoundation下的视频分帧处理
    Redis自学笔记:4.2进阶-过期时间
  • 原文地址:https://www.cnblogs.com/zjf6666/p/14672487.html
Copyright © 2020-2023  润新知