From 8b37874ebf7b5c53da0184adf43edde6e8c9b6d6 Mon Sep 17 00:00:00 2001 From: fengshuonan Date: Fri, 14 Jul 2023 17:13:10 +0800 Subject: [PATCH] =?UTF-8?q?=E3=80=908.0=E3=80=91=E3=80=90event=E3=80=91?= =?UTF-8?q?=E6=9B=B4=E6=96=B0=E6=8A=A5=E9=94=99=E4=BF=A1=E6=81=AF=E7=9A=84?= =?UTF-8?q?=E6=89=93=E5=8D=B0?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../event/api/exception/enums/EventExceptionEnum.java | 7 ++++++- .../event/sdk/publish/BusinessEventPublisher.java | 10 ++++++++-- 2 files changed, 14 insertions(+), 3 deletions(-) diff --git a/kernel-d-event/event-api/src/main/java/cn/stylefeng/roses/kernel/event/api/exception/enums/EventExceptionEnum.java b/kernel-d-event/event-api/src/main/java/cn/stylefeng/roses/kernel/event/api/exception/enums/EventExceptionEnum.java index d2bc6fe5a..98ae1af69 100644 --- a/kernel-d-event/event-api/src/main/java/cn/stylefeng/roses/kernel/event/api/exception/enums/EventExceptionEnum.java +++ b/kernel-d-event/event-api/src/main/java/cn/stylefeng/roses/kernel/event/api/exception/enums/EventExceptionEnum.java @@ -41,7 +41,12 @@ public enum EventExceptionEnum implements AbstractExceptionEnum { /** * 查询不到对应业务事件 */ - CANT_FIND_EVENT(RuleConstants.BUSINESS_ERROR_TYPE_CODE + EventConstants.EVENT_EXCEPTION_STEP_CODE + "01", "查询不到对应业务事件,具体信息:{}"); + CANT_FIND_EVENT(RuleConstants.BUSINESS_ERROR_TYPE_CODE + EventConstants.EVENT_EXCEPTION_STEP_CODE + "01", "查询不到对应业务事件,具体信息:{}"), + + /** + * 事件调用,方法调用失败 + */ + ERROR_INVOKE(RuleConstants.BUSINESS_ERROR_TYPE_CODE + EventConstants.EVENT_EXCEPTION_STEP_CODE + "02", "事件调用,方法调用失败"); /** * 错误编码 diff --git a/kernel-d-event/event-sdk/src/main/java/cn/stylefeng/roses/kernel/event/sdk/publish/BusinessEventPublisher.java b/kernel-d-event/event-sdk/src/main/java/cn/stylefeng/roses/kernel/event/sdk/publish/BusinessEventPublisher.java index e4749a0b7..f0c9c6078 100644 --- a/kernel-d-event/event-sdk/src/main/java/cn/stylefeng/roses/kernel/event/sdk/publish/BusinessEventPublisher.java +++ b/kernel-d-event/event-sdk/src/main/java/cn/stylefeng/roses/kernel/event/sdk/publish/BusinessEventPublisher.java @@ -2,8 +2,11 @@ package cn.stylefeng.roses.kernel.event.sdk.publish; import cn.hutool.core.util.ObjectUtil; import cn.hutool.extra.spring.SpringUtil; +import cn.stylefeng.roses.kernel.event.api.exception.enums.EventExceptionEnum; import cn.stylefeng.roses.kernel.event.sdk.container.EventContainer; import cn.stylefeng.roses.kernel.event.sdk.pojo.BusinessListenerDetail; +import cn.stylefeng.roses.kernel.rule.exception.base.ServiceException; +import lombok.extern.slf4j.Slf4j; import java.lang.reflect.InvocationTargetException; import java.lang.reflect.Method; @@ -15,6 +18,7 @@ import java.util.List; * @author fengshuonan * @since 2023/7/14 16:21 */ +@Slf4j public class BusinessEventPublisher { /** @@ -54,7 +58,8 @@ public class BusinessEventPublisher { try { listenerMethod.invoke(businessObject); } catch (IllegalAccessException | InvocationTargetException e) { - throw new RuntimeException(e); + log.error("方法调用失败,反射调用异常", e); + throw new ServiceException(EventExceptionEnum.ERROR_INVOKE); } } @@ -66,7 +71,8 @@ public class BusinessEventPublisher { try { listenerMethod.invoke(bean, businessObject); } catch (IllegalAccessException | InvocationTargetException e) { - throw new RuntimeException(e); + log.error("方法调用失败,反射调用异常", e); + throw new ServiceException(EventExceptionEnum.ERROR_INVOKE); } } }