From 955a11858ebae4cb0b23a15c0772b7405a868443 Mon Sep 17 00:00:00 2001 From: hongawen <83944980@qq.com> Date: Fri, 18 Aug 2023 13:41:06 +0800 Subject: [PATCH] =?UTF-8?q?=E6=B7=BB=E5=8A=A0=E5=BC=82=E5=B8=B8=E6=97=A5?= =?UTF-8?q?=E5=BF=97=E8=AE=B0=E5=BD=95=E6=96=B9=E6=B3=95?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../handler/EnhanceConsumerMessageHandler.java | 14 +++++++++++--- 1 file changed, 11 insertions(+), 3 deletions(-) diff --git a/src/main/java/com/njcn/middle/rocket/handler/EnhanceConsumerMessageHandler.java b/src/main/java/com/njcn/middle/rocket/handler/EnhanceConsumerMessageHandler.java index b3bbc38..62c7b8c 100644 --- a/src/main/java/com/njcn/middle/rocket/handler/EnhanceConsumerMessageHandler.java +++ b/src/main/java/com/njcn/middle/rocket/handler/EnhanceConsumerMessageHandler.java @@ -53,7 +53,7 @@ public abstract class EnhanceConsumerMessageHandler { * @param message 待处理消息 */ protected void handleMaxRetriesExceeded(T message) { - saveExceptionMsgLog(message,EnhanceMessageConstant.IDENTITY_RETRY); + saveExceptionMsgLog(message,EnhanceMessageConstant.IDENTITY_RETRY,null); } /** @@ -103,9 +103,16 @@ public abstract class EnhanceConsumerMessageHandler { * 发生异常时,进行错误信息入库保存 * 默认没有实现类,子类可以实现该方法,调用feign接口进行入库保存 */ - protected void saveExceptionMsgLog(T message, String identity) { + protected void saveExceptionMsgLog(T message, String identity,Exception exception) { } + + /** + * 消费成功 + */ + protected void consumeSuccess(T message) {} + + /** * 使用模板模式构建消息消费框架,可自由扩展或删减 */ @@ -124,10 +131,11 @@ public abstract class EnhanceConsumerMessageHandler { try { long now = System.currentTimeMillis(); handleMessage(message); + consumeSuccess(message); long costTime = System.currentTimeMillis() - now; log.info("消息{}消费成功,耗时[{}ms]", message.getKey(), costTime); } catch (Exception e) { - saveExceptionMsgLog(message,EnhanceMessageConstant.IDENTITY_SINGLE); + saveExceptionMsgLog(message,EnhanceMessageConstant.IDENTITY_SINGLE,e); // 是捕获异常还是抛出,由子类决定 if (throwException()) { //抛出异常,由DefaultMessageListenerConcurrently类处理