Rabbitmq:手动创建的用户不工作

Rabbitmq : manually created user is not working

我刚开始使用 Rabbitmq,我正在尝试将它与 grails 一起使用。我在 grails 中成功设置了 rabbitmq。当我使用用户名 = "guest" 和密码 = "guest" 创建连接时它工作正常,但是当我尝试使用手动创建的用户时它会抛出一些错误,如下所示:

    Error initializing the application: null
    java.io.IOException
    at com.rabbitmq.client.impl.AMQChannel.wrap(AMQChannel.java:106)
    at com.rabbitmq.client.impl.AMQChannel.wrap(AMQChannel.java:102)
    at com.rabbitmq.client.impl.AMQChannel.exnWrappingRpc(AMQChannel.java:124)
    at com.rabbitmq.client.impl.AMQConnection.start(AMQConnection.java:376)
    at com.rabbitmq.client.impl.recovery.RecoveryAwareAMQConnectionFactory.newConnection(RecoveryAwareAMQConnectionFactory.java:36)
    at com.rabbitmq.client.impl.recovery.AutorecoveringConnection.init(AutorecoveringConnection.java:83)
    at com.rabbitmq.client.ConnectionFactory.newConnection(ConnectionFactory.java:595)
    at com.rabbitmq.client.ConnectionFactory.newConnection(ConnectionFactory.java:637)
    at com.budjb.rabbitmq.connection.ConnectionContextImpl.start(ConnectionContextImpl.groovy:101)
    at com.budjb.rabbitmq.connection.ConnectionManagerImpl.start(ConnectionManagerImpl.groovy:191)
    at com.budjb.rabbitmq.connection.ConnectionManagerImpl$_start_closure4.doCall(ConnectionManagerImpl.groovy:176)
    at com.budjb.rabbitmq.connection.ConnectionManagerImpl.start(ConnectionManagerImpl.groovy:174)
    at com.budjb.rabbitmq.RabbitContextImpl.startConnections(RabbitContextImpl.groovy:193)
    at com.budjb.rabbitmq.RabbitContextImpl.start(RabbitContextImpl.groovy:78)
    at com.budjb.rabbitmq.RabbitContextProxy.start(RabbitContextProxy.groovy:188)
    at RabbitmqNativeGrailsPlugin$_closure2.doCall(RabbitmqNativeGrailsPlugin.groovy:189)
    at java.util.concurrent.FutureTask.run(FutureTask.java:262)
    at java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1145)
    at java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:615)
    at java.lang.Thread.run(Thread.java:744)
Caused by: com.rabbitmq.client.ShutdownSignalException: connection error
    at com.rabbitmq.utility.ValueOrException.getValue(ValueOrException.java:67)
    at com.rabbitmq.utility.BlockingValueOrException.uninterruptibleGetValue(BlockingValueOrException.java:33)
    at com.rabbitmq.client.impl.AMQChannel$BlockingRpcContinuation.getReply(AMQChannel.java:348)
    at com.rabbitmq.client.impl.AMQChannel.privateRpc(AMQChannel.java:221)
    at com.rabbitmq.client.impl.AMQChannel.exnWrappingRpc(AMQChannel.java:118)
    ... 17 more
Caused by: java.io.EOFException
    at java.io.DataInputStream.readUnsignedByte(DataInputStream.java:290)
    at com.rabbitmq.client.impl.Frame.readFrom(Frame.java:95)
    at com.rabbitmq.client.impl.SocketFrameHandler.readFrame(SocketFrameHandler.java:139)
    at com.rabbitmq.client.impl.AMQConnection$MainLoop.run(AMQConnection.java:534)
    ... 1 more

我向该用户提供了所有权限并添加了管理员作为标签。请帮助我。

我认为您需要先手动创建一个虚拟主机,然后再尝试添加您创建的用户。

干杯。

实际上我遇到了同样的问题,您只需先检查或按照以下步骤操作即可:-

1)使用命令创建用户 sudo rabbitmqctl add_user username password

2) 现在为您的用户名设置标签为 admin sudo rabbitmqctl set_user_tags username administrator

3)现在创建一个新的虚拟主机 sudo rabbitmqctl add_vhost test

4)之后给予完全权限 sudo rabbitmqctl set_permissions -p test username ".*" ".*" ".*"

5) 现在终于在你的配置文件中定义

connection host: "Ip for your server", username: "admin", password: "password" , virtualHost: "test"

现在 运行 您的代码再次成功 运行。

尽情享受!!