malei05 1 ngày trước cách đây
mục cha
commit
b095ec9278

+ 2 - 2
src/main/java/net/yyc/quartz/executor/JobBriefingExecutor.java

@@ -15,7 +15,7 @@ import java.time.format.DateTimeFormatter;
  * 每天早上9点执行,生成昨日任务执行简报并发送邮件
  */
 @Slf4j
-@Component("JobBriefingExecutor")
+@Component(value = "jobBriefingExecutor")
 @RequiredArgsConstructor
 public class JobBriefingExecutor {
     private final JobBriefingService jobBriefingService;
@@ -28,7 +28,7 @@ public class JobBriefingExecutor {
      *
      * @return 执行结果(成功返回"success",失败返回异常信息)
      */
-    public String sendDailyBriefing() {
+    public String sendDailyBriefing(String params) {
         try {
             log.info("[简报] 开始生成每日简报...");
 

+ 5 - 1
src/main/java/net/yyc/quartz/util/SpringBeanTaskInvoke.java

@@ -23,6 +23,7 @@ import net.yyc.common.core.util.SpringContextHolder;
 import net.yyc.quartz.constants.QuartzEnum;
 import net.yyc.quartz.entity.SysJob;
 import net.yyc.quartz.exception.TaskException;
+import org.springframework.beans.factory.NoSuchBeanDefinitionException;
 import org.springframework.stereotype.Component;
 import org.springframework.util.ReflectionUtils;
 
@@ -44,8 +45,8 @@ public class SpringBeanTaskInvoke implements ITaskInvoke {
         Method method;
         Object returnValue;
         // 通过Spring上下文去找 也有可能找不到
-        target = SpringContextHolder.getBean(sysJob.getClassName());
         try {
+            target = SpringContextHolder.getBean(sysJob.getClassName());
             if (StrUtil.isNotEmpty(sysJob.getMethodParamsValue())) {
                 method = target.getClass().getDeclaredMethod(sysJob.getMethodName(), String.class);
                 ReflectionUtils.makeAccessible(method);
@@ -65,6 +66,9 @@ public class SpringBeanTaskInvoke implements ITaskInvoke {
                 log.error("[QUARTZ] SpringBean任务执行失败 | bean={} method={}", sysJob.getClassName(), sysJob.getMethodName());
                 throw new TaskException("定时任务springBeanTaskInvoke业务执行失败,任务:" + sysJob.getClassName());
             }
+        } catch (NoSuchBeanDefinitionException e) {
+            log.error("[QUARTZ] Bean未找到 | bean={} 请检查类名", sysJob.getClassName(), e);
+            throw new TaskException("Bean未找到, bean=" + sysJob.getClassName());
         } catch (NoSuchMethodException e) {
             log.error("[QUARTZ] Bean方法未找到 | bean={} method={} 请检查方法名和参数是否匹配", sysJob.getClassName(), sysJob.getMethodName(), e);
             throw new TaskException("Bean方法未找到, bean=" + sysJob.getClassName() + ", method=" + sysJob.getMethodName());

+ 0 - 49
src/main/java/net/yyc/quartz/util/SpringContextHolder.java

@@ -1,49 +0,0 @@
-package net.yyc.quartz.util;
-
-import org.springframework.beans.BeansException;
-import org.springframework.context.ApplicationContext;
-import org.springframework.context.ApplicationContextAware;
-import org.springframework.stereotype.Component;
-
-/**
- * Spring 上下文持有者
- */
-@Component
-public class SpringContextHolder implements ApplicationContextAware {
-
-    private static ApplicationContext applicationContext;
-
-    @Override
-    public void setApplicationContext(ApplicationContext applicationContext) throws BeansException {
-        SpringContextHolder.applicationContext = applicationContext;
-    }
-
-    /**
-     * 获取 Spring 应用上下文
-     */
-    public static ApplicationContext getApplicationContext() {
-        return applicationContext;
-    }
-
-    /**
-     * 获取指定类型的 Bean
-     *
-     * @param name Bean 名称
-     * @return Bean 实例
-     */
-    @SuppressWarnings("unchecked")
-    public static <T> T getBean(String name) {
-        return (T) applicationContext.getBean(name);
-    }
-
-    /**
-     * 获取指定类型的 Bean
-     *
-     * @param clazz Bean 类型
-     * @return Bean 实例
-     */
-    public static <T> T getBean(Class<T> clazz) {
-        return applicationContext.getBean(clazz);
-    }
-
-}