栏目分类:
子分类:
返回
名师互学网用户登录
快速导航关闭
当前搜索
当前分类
子分类
实用工具
热门搜索
名师互学网 > IT > 前沿技术 > 大数据 > 大数据系统

01-RabbitMQ-01-每一步都是坑

01-RabbitMQ-01-每一步都是坑

01:主机无法访问虚拟机MQ

查询指定端口是否已开

firewall-cmd --query-port=15672/tcp

添加指定需要开放的端口: 

firewall-cmd --add-port=15672/tcp --permanent

重载入添加的端口: 

firewall-cmd --reload

查询指定端口是否开启成功: 

firewall-cmd --query-port=15672/tcp

移除指定端口:

firewall-cmd --permanent --remove-port=15672/tcp

查询开放的防火墙列表

firewall-cmd --zone=public --list-ports
2:com.rabbitmq.client.ShutdownSignalException: connection error

在使用浏览器可以访问,但是用程序就访问不到了。是因为浏览器访问的端口是15672。

但是用java程序连接,端口就变成了5672。

所有需要在linux中,将5672端口开放。

开放 5672端口

firewall-cmd --add-port=5672/tcp --permanent

重载入添加的端口: 

firewall-cmd --reload
03:第二次接受到发送的MQ 后,发现消费获取了两个值,队列中的两个没有删除。

原因是因为MQ默认的是手动应答机制,所以要使用 autoAck = true

下面的API 是 手动应答机制

    String basicConsume(String queue, DeliverCallback deliverCallback, CancelCallback cancelCallback) throws IOException;

应使用下面API 并将 autoAck = true

    String basicConsume(String queue, boolean autoAck, DeliverCallback deliverCallback, CancelCallback cancelCallback) throws IOException;

修改代码

        
        channel.basicConsume(RabbitMQUtils.QUEUE_NAME, true, deliverCallback, cancelCallback);


 


作者:Darren

QQ:603026148

以上内容归Darren所有,如果有什么错误或者不足的地方请联系我,希望我们共同进步。

转载请注明:文章转载自 www.mshxw.com
本文地址:https://www.mshxw.com/it/443612.html
我们一直用心在做
关于我们 文章归档 网站地图 联系我们

版权所有 (c)2021-2022 MSHXW.COM

ICP备案号:晋ICP备2021003244-6号