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

Grails Rabbitmq:手动创建的用户不工作,grails,rabbitmq,Grails,Rabbitmq,我刚开始使用Rabbitmq,我正在尝试将其用于grails。我在grails中成功地设置了rabbitmq。当我使用username=“guest”和password=“guest”创建连接时,它可以正常工作,但当我尝试使用手动创建的用户时,它会引发一些错误,如下所示: Error initializing the application: null java.io.IOException at com.rabbitmq.client.impl.AMQChannel.w

我刚开始使用Rabbitmq,我正在尝试将其用于grails。我在grails中成功地设置了rabbitmq。当我使用username=“guest”和password=“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添加用户用户名密码

2) 现在将用户名的标签设置为admin
sudo rabbitmqctl set_user_标记用户名管理员

3) 现在通过创建一个新的virtualHost
sudo rabbitmqctl添加vhost测试

4) 在那之后,给予充分的许可
sudo rabbitmqctl设置\u权限-p测试用户名“*”.*”。*“

5) 现在,最后在您的配置文件中定义

连接主机:“服务器的Ip”、用户名:“admin”、密码:“password”、虚拟主机:“test”

现在再次运行代码,它将成功运行


享受

您正在尝试从其他计算机创建用户吗?“guest:guest”凭据只有在主机本身上建立连接时才有效(默认情况下,这可以更改,但不推荐)。感谢您的回复,但我创建了虚拟主机,它似乎无法工作。感谢Praveen,它工作正常。你真的救了我的命:)