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类处理