前三个异常(EOFException、ShutdownSignalException、IOException)是因为浏览器中rabbitmq访问端口是15672,但是java访问端口却是5672.而我程序访问时,用的是15672所以报错。
解决方案,程序连接时,将端口改成5672即可。
// 创建连接工厂
ConnectionFactory factory = new ConnectionFactory();
factory.setHost("localhost");
factory.setPort(5672);
factory.setUsername("username");
factory.setPassword("password");
factory.setVirtualHost("/");
// 获取连接
Connection connection = factory.newConnection();
ConnectException的解决办法是服务器的防火墙需要放行5672端口