Warning: file_get_contents(/data/phpspider/zhask/data//catemap/3/go/7.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Go RabbitMQ对同一消息的多个确认关闭使用者_Go_Rabbitmq - Fatal编程技术网

Go RabbitMQ对同一消息的多个确认关闭使用者

Go RabbitMQ对同一消息的多个确认关闭使用者,go,rabbitmq,Go,Rabbitmq,如果我使用该方法两次确认同一消息,我的消费者频道就会自动关闭 这是预期的行为吗?有人经历过吗 我两次确认同一条消息的原因是一种特殊情况,我必须将原始消息分解为副本,并在消费者身上进行处理。一旦消费者处理了所有内容,它就会循环并确认所有内容。由于存在实体的副本,它会两次确认同一条消息,并且我的消费者频道会关闭。根据,当第二次确认消息时,会引发频道异常: 对消息的确认不得超过一次。接收端 必须验证非零传递标记是否引用已传递的 消息,如果不是这种情况,则引发通道异常 对于同一消息,第二次调用Ack(…

如果我使用该方法两次确认同一消息,我的消费者频道就会自动关闭

这是预期的行为吗?有人经历过吗

我两次确认同一条消息的原因是一种特殊情况,我必须将原始消息分解为副本,并在消费者身上进行处理。一旦消费者处理了所有内容,它就会循环并确认所有内容。由于存在实体的副本,它会两次确认同一条消息,并且我的消费者频道会关闭。

根据,当第二次确认消息时,会引发频道异常:

对消息的确认不得超过一次。接收端 必须验证非零传递标记是否引用已传递的 消息,如果不是这种情况,则引发通道异常

对于同一消息,第二次调用
Ack(…)
不会返回错误,但由于从服务器收到此异常,通道将关闭:

Exception (406) Reason: "PRECONDITION_FAILED - unknown delivery tag ?"

可以通过注册侦听器来观察此异常。

在我看来,这是一种预期行为,但我找不到任何证据:-)。是的。我试图寻找证据,但找不到任何证据。