1. 程式人生 > >連線rabbitmq 報錯 com.rabbitmq.client.ShutdownSignalException: connection error

連線rabbitmq 報錯 com.rabbitmq.client.ShutdownSignalException: connection error

        ConnectionFactory factory = new ConnectionFactory();
        // 連線IP
        factory.setHost("127.0.0.1");
        // 預設監聽埠
        factory.setPort(5672);
        // 虛擬機器
        factory.setVirtualHost("/");

        // 設定訪問的使用者
        factory.setUsername("guest");
        factory.setPassword("guest");
        // 建立連線
        Connection conn = factory.newConnection();

factory.newConnection() 程式走到這一行報錯 :

com.rabbitmq.client.ShutdownSignalException: connection error 

Caused by: java.io.EOFException:

原因:

自己在 rabbitmq.config 配置檔案 rabbitmq_management 子模組中加了一行 {listener, [{port,     5672}, {ip,       "127.0.0.1"},{ssl,     false}]} ,導致與 tcp_listeners 預設埠 5672 衝突。 

tcp_listeners 的埠是給程式用的, rabbitmq_management  listener port 是給 http 用的,所以不能相同

解決辦法:

rabbitmq_management  裡面的改成 {listener, [{port,     1234}, {ip,       "127.0.0.1"},{ssl,     false}]} ,這樣 http://127.0.0.1:1234 來訪問管理介面,當然這一行配置也可以遮蔽,那就通過預設埠  http://127.0.0.1:15672 來訪問管理介面