简单的重试代码实现

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16

private SendResult tryToSend(Message message) {
SendResult sendResult = null;
for (int i = 0; i < 5; i++) {
// 最多重试5次
try {
sendResult = producer.send(message);
// 如果没有抛出异常,则视为发送成功,break掉循环

break;
} catch (Exception ex) {
logger.error("Metaq message send failed, message body:" + message.toString(), ex);
}
}
return sendResult;
}