We read every piece of feedback, and take your input very seriously.
To see all available qualifiers, see our documentation.
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
ack为false时,消息重发, this.convertAndSend(correlationData.getExchange(), correlationData.getRoutingKey(), correlationData.getMessage(), correlationData); 实际上 没有再次重新发送,是不是我的操作有问题,请指教,谢谢
The text was updated successfully, but these errors were encountered:
我的理解这块,消息提供者把消息发送到broker,交换机不存在,ack会为false,你的代码会判断重发次数,小于3次的情况会进行重发,我试了下,第一次发送为ack为false就停止了,没有重新发送消息,怎么回事,麻烦说一下?
Sorry, something went wrong.
在confirm方法里重发消息,会阻塞住ampq这个线程,之后的所有ack为false的消息,进入此处逻辑,由于之前的操作会阻塞住当前线程,并且不会主动释放,在进入的消息会卡住,下图是amqp线程新建的channels,会一直存在 这块我认为能解决问题的办法是在confirm方法里,重发的方法的代码部分放在新启动的线程里执行,不阻塞在ampq这个线程,不会出现之前的阻塞
No branches or pull requests
ack为false时,消息重发,
this.convertAndSend(correlationData.getExchange(), correlationData.getRoutingKey(),
correlationData.getMessage(), correlationData);
实际上
没有再次重新发送,是不是我的操作有问题,请指教,谢谢
The text was updated successfully, but these errors were encountered: