首页 > 解决方案 > RabbitMq connectionFactory 初始化时的 java.io.IOException

问题描述

当我尝试向 rabbitMQ 服务器创建 .newConnection() 时,出现以下错误:

com.rabbitmq.client.impl.AMQChannel.wrap(AMQChannel.java:122) 在 com.rabbitmq.client 的 com.rabbitmq.client.impl.AMQChannel.wrap(AMQChannel.java:126) 的 java.io.IOException。 impl.AMQConnection.start(AMQConnection.java:373) 在 com.rabbitmq.client.impl.recovery.RecoveryAwareAMQConnectionFactory.newConnection(RecoveryAwareAMQConnectionFactory.java:64) 在 com.rabbitmq.client.impl.recovery.AutorecoveringConnection.init(AutorecoveringConnection. java:134) 在 com.rabbitmq.client.ConnectionFactory.newConnection(ConnectionFactory.java:997) 在 com.rabbitmq.client.ConnectionFactory.newConnection(ConnectionFactory.java:956) 在 com.rabbitmq.client.ConnectionFactory.newConnection(ConnectionFactory .java:914) 在 com.rabbitmq.client.ConnectionFactory.newConnection(ConnectionFactory.java:1068)

……

原因:com.rabbitmq.client.ShutdownSignalException:com.rabbitmq.utility.BlockingValueOrException.uninterruptibleGetValue(BlockingValueOrException.java:36) 处 com.rabbitmq.utility.ValueOrException.getValue(ValueOrException.java:66) 处的连接错误。 rabbitmq.client.impl.AMQChannel$BlockingRpcContinuation.getReply(AMQChannel.java:494) 在 com.rabbitmq.client.impl.AMQConnection.start(AMQConnection.java:315)
在 com.rabbitmq.client.impl.recovery.RecoveryAwareAMQConnectionFactory。 com.rabbitmq.client.impl.recovery.AutorecoveringConnection.init(AutorecoveringConnection.java:134) 处的 newConnection(RecoveryAwareAMQConnectionFactory.java:64)

我的代码片段是:

ConnectionFactory connectionFactory = new ConnectionFactory();
connectionFactory.setUsername("myUser");
connectionFactory.setUsername("myPass");
connectionFactory.setHost("rabbitmq.test.com"); //also tried with the IP
connectionFactory.setPort(customPort);
connectionFactory.setVirtualHost("/myVHost");
Connection connection = connectionFactory.newConnection();

我还尝试了紧凑的设置:

connectionFactory.setUri("amqp://myUser:myPass@rabbitmq.test.com:customPort/myVHost");

现在......奇怪的是,如果我登录到 GUI,我可以访问该虚拟主机的队列......

请问对这种情况有什么想法吗?提前致谢。

标签: javaexceptionrabbitmqioexception

解决方案


您似乎使用了setUsername()设置密码的功能。


推荐阅读