如果我尝试使用新的admin(test)
进行远程连接,它将连接,但如果通过远程计算机运行相同的程序,它将连接到guest
。
ConnectionFactory factory = new ConnectionFactory();
factory.setHost("192.168.1.6");
factory.setUsername("test");
factory.setPassword("test");
//factory.setPort(5267);
Connection connection = factory.newConnection();
Channel channel = connection.createChannel();
我要从队列中获取消息。我的变量已设置。
我的conf文件是
[
{rabbit,[{loopback_users,[]}]}
].
如果我在远程计算机上运行相同的程序,它将显示以访客身份连接:
我的错误是什么?因为远程连接,我无法以访客用户身份从队列中获取消息
我的 amqp 监听端口如下。我需要在这里改变什么吗? 监听端口
Protocol Bound to Port
amqp 0.0.0.0 5672
amqp :: 5672
最佳答案
您的客户端库(可能是 RabbitMQ 提供的客户端?)正在使用 guest/guest 作为默认用户名和密码。检查com.rabbitmq.client.ConnectionFactory的源代码,特别是DEFAULT_USER和DEFAULT_PASSWORD。如果您不想使用访客/访客,您可能需要更改它以使用新的 ID 和密码。
关于java - RabbitMQ 始终远程连接到 guest 用户,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/24774877/