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); } } }