报错信息: 连接RabbitMQ Management时报错
Exception in thread "main" java.util.concurrent.TimeoutException
at com.rabbitmq.utility.BlockingCell.get(BlockingCell.java:77)
at com.rabbitmq.utility.BlockingCell.uninterruptibleGet(BlockingCell.java:120)
at com.rabbitmq.utility.BlockingValueOrException.uninterruptibleGetValue(BlockingValueOrException.java:36)
at com.rabbitmq.client.impl.AMQChannel$BlockingRpcContinuation.getReply(AMQChannel.java:443)
at com.rabbitmq.client.impl.AMQConnection.start(AMQConnection.java:321)
at com.rabbitmq.client.impl.recovery.RecoveryAwareAMQConnectionFactory.newConnection(RecoveryAwareAMQConnectionFactory.java:63)
at com.rabbitmq.client.impl.recovery.AutorecoveringConnection.init(AutorecoveringConnection.java:138)
at com.rabbitmq.client.ConnectionFactory.newConnection(ConnectionFactory.java:973)
at com.rabbitmq.client.ConnectionFactory.newConnection(ConnectionFactory.java:932)
at com.rabbitmq.client.ConnectionFactory.newConnection(ConnectionFactory.java:890)
at com.rabbitmq.client.ConnectionFactory.newConnection(ConnectionFactory.java:1044)
at com.fh.util.ConnectionUtil.getConnection(ConnectionUtil.java:25)
at com.fh.util.Send.main(Send.java:12)
[AMQP Connection 192.168.234.128:5672] ERROR com.rabbitmq.client.impl.ForgivingExceptionHandler - An unexpected connection driver error occured
java.net.SocketException: Socket Closed
at java.net.SocketInputStream.socketRead0(Native Method)
at java.net.SocketInputStream.socketRead(SocketInputStream.java:116)
at java.net.SocketInputStream.read(SocketInputStream.java:171)
at java.net.SocketInputStream.read(SocketInputStream.java:141)
at java.io.BufferedInputStream.fill(BufferedInputStream.java:246)
at java.io.BufferedInputStream.read(BufferedInputStream.java:265)
at java.io.DataInputStream.readUnsignedByte(DataInputStream.java:288)
at com.rabbitmq.client.impl.Frame.readFrom(Frame.java:91)
at com.rabbitmq.client.impl.SocketFrameHandler.readFrame(SocketFrameHandler.java:164)
at com.rabbitmq.client.impl.AMQConnection$MainLoop.run(AMQConnection.java:602)
at java.lang.Thread.run(Thread.java:748)
Process finished with exit code 1
解决方案:原因是连接超时,加超时时间
maevn项目设置超时时间 : factory.setHandshakeTimeout(60000)
public static Connection getConnection() throws Exception {
//定义连接工厂
ConnectionFactory factory = new ConnectionFactory();
// 设置服务地址
factory.setHost("192.168.230.135");
//端口
factory.setPort(5672);
// 设置账号信息,用户名、密码、vhost
factory.setVirtualHost("root");
factory.setUsername("root");
factory.setPassword("root");
//factory.setHandshakeTimeout(60000); //启动报错释放,连接超时的问题
// 通过工程获取连接
Connection connection = factory.newConnection();
return connection;
}
springboot项目设置超时时间 :