Browse Source

ackrule=None,发送后直接设置为成功

master
zhizhi wu 4 years ago
parent
commit
8c88512690
  1. 8
      ccmq/src/main/java/com/ccsens/ccmq/lowlevel/message/MessageHandler.java

8
ccmq/src/main/java/com/ccsens/ccmq/lowlevel/message/MessageHandler.java

@ -189,6 +189,14 @@ public class MessageHandler {
//发送给对应的接收者
logger.info("给{}发送消息:{}", to, outMessageSet);
ClientManager.sendMessageToAuthedClient(toDomain,invokerMessage, to,outMessageSet);
// 若ACK规则==none,则设置状态为成功
for(Message message : messageList) {
if (message.getRule().getAckRule() == MessageRule.AckRule.NONE) {
logger.info("将无需ACK的消息设置为发送成功:{}", message);
getMessageDao().updateMessageStatus(message.getId(),MessageConstant.Status.Succeed);
}
}
}else{
//不发送,根据规则检查所有“offLineDiscard”的消息设置为failed状态
for(Message message : messageList){

Loading…
Cancel
Save