我正在尝试编写MQ客户端,它将抵抗意外情况。 我已创建客户端CLIENT_ACKNOWLEDGE模式:XMS mq client_acknowledge - 分别确认消息
ISession session = conn.CreateSession(false, AcknowledgeMode.ClientAcknowledge);
在XMS文档存在用于CLIENT_ACKNOWLEDGE信息:
应用程序可以确认收到每个消息 单独,或它可以接收一个批次并仅对其收到的最后一条消息致电 确认方法。当 确认方法被调用时,自上次调用 以来收到的所有消息都被确认。
客户端从队列中提取例如10条消息并将它们写入数据库。
问题是如何在确认每条消息(用于确保消息传递)的情况下设置此模式?
您是否试图做这样的事情:您收到了10条消息,但您只想确认该批处理的一条消息,比如5或8位?如果这样做是不可能的。正如doc所说,XMS将会收到所有收到的消息。 – Shashi
在当前实现中,我确认收到的每个单个消息。我需要确保不会丢失任何消息。如果第5条消息将被查询并出现问题,例如我们失去了第3条(它将与第5条消息一起发送,而不是重新发送) 有什么方法可以确定顺序的顺序吗? – moniuh