Java连接RabbitMQ失败
在windows中安装了RabbitMQ之后,在Spring中创建ConnectionFactory时发现总是超时,而且queue和exchange也没有正确routing。
经排查,发现是创建ConnectionFactory时使用的guest用户,而guest用户只能用作本地登录的。需要新建一个用户,并赋予对应的权限。对应的命令为:
rabbitmqctl add_user root root
rabbitmqctl set_user_tags root administrator
rabbitmqctl set_permissions -p / root ".*" ".*" ".*"
//查看用户命令
rabbitmqctl list_users
在添加完用户后还需要对RabbitMQ服务进行重启。
配置用户可被远程访问
rabbitmq默认只能通过localhost:15672登录,不能使用ip登录,可以通过修改配置文件来实现远程访问.
先停止rabbitmq
在rabbitmq.config.example中添加以下配置
...
[
{rabbit,
[%%
%% Network Connectivity
%% ====================
%%
%% By default, RabbitMQ will listen on all interfaces, using
%% the standard (reserved) AMQP port.
%%
{tcp_listeners, [5672]},
{loopback_users, ["root"]},
...
]}
].
启动rabbitmq即可