查询指定端口是否已开
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-ports2:com.rabbitmq.client.ShutdownSignalException: connection error
在使用浏览器可以访问,但是用程序就访问不到了。是因为浏览器访问的端口是15672。
但是用java程序连接,端口就变成了5672。
所有需要在linux中,将5672端口开放。
开放 5672端口
firewall-cmd --add-port=5672/tcp --permanent
重载入添加的端口:
firewall-cmd --reload03:第二次接受到发送的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所有,如果有什么错误或者不足的地方请联系我,希望我们共同进步。



