java rabbitmq 客户端在失去连接后怎么自动恢复

Posted

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了java rabbitmq 客户端在失去连接后怎么自动恢复相关的知识,希望对你有一定的参考价值。

参考技术A 下面是RabbitMQ的消息确认机制:“为了确保消息不会丢失,RabbitMQ支持消息确认机制。客户端在接受到消息并处理完后,可以发送一个ack消息给RabbitMQ,告诉它该消息可以安全的删除了。假如客户端在发送ack之前意外死掉了,那么RabbitMQ会将消息投递到下一个consumer客户端。如果有多个consumer客户端,RabbitMQ在投递消息时是轮询的。RabbitMQ如何判断客户端死掉了?唯一根据是客户端连接是否断开。这里没有超时机制,也就是说客户端可以处理一个消息很长时间,只要没断开连接,RabbitMQ就一直等待ack消息。”我现在遇到的问题是这样的:我这边有几条线程去消息队列里取数据,但是会有异常数据导致线程挂掉,就是上边的“客户端在发送ack之前意外死掉了”,RabbitMQ会将消息投递到下一个consumer客户端,这样一条异常数据会把我的所有线程挂掉,我现在想实现这样的功能:如果有异常数据导致进程挂掉,那么我不让RabbitMQ将这条消息投递到下一个consumer客户端,而是放到另一个地方或者另外处理

unity客户端自动断开连接

问题描述:

当unity失去焦点一段时间后,与photon服务器端断开连接

问题根源:

默认unity失去焦点后会暂停运行,导致连接超时,服务器端超时断开连接

解决方案:

连接服务器后,填加一句代码让unity在失去焦点的情况下继续执行游戏

Application.runInBackground = true;

以上是关于java rabbitmq 客户端在失去连接后怎么自动恢复的主要内容,如果未能解决你的问题,请参考以下文章

如果没有使用php amqplib显式关闭连接怎么办?

unity客户端自动断开连接

RabbitMQ学习第一记:用java连接RabbitMQ

rabbitmq延时任务时间比较长的怎么处理

java如何获取rabbitmq队列中消息数量

Java 客户端中的 RabbitMQ 通道和线程