diff --git a/powerjob-worker/src/main/java/tech/powerjob/worker/common/utils/SpringUtils.java b/powerjob-worker/src/main/java/tech/powerjob/worker/common/utils/SpringUtils.java index 108bb207..59ad2473 100644 --- a/powerjob-worker/src/main/java/tech/powerjob/worker/common/utils/SpringUtils.java +++ b/powerjob-worker/src/main/java/tech/powerjob/worker/common/utils/SpringUtils.java @@ -52,4 +52,18 @@ public class SpringUtils { return (T) ctx.getBean(beanName0); } + /** + * 判断是否处在 Spring 环境中 + * @return true or false + */ + public static boolean inSpringEnv() { + try { + ApplicationContext.class.getClassLoader(); + return true; + } catch (Throwable ignore) { + } + + return false; + } + } diff --git a/powerjob-worker/src/main/java/tech/powerjob/worker/processor/impl/BuiltInSpringProcessorFactory.java b/powerjob-worker/src/main/java/tech/powerjob/worker/processor/impl/BuiltInSpringProcessorFactory.java index 0473faae..c541cf3b 100644 --- a/powerjob-worker/src/main/java/tech/powerjob/worker/processor/impl/BuiltInSpringProcessorFactory.java +++ b/powerjob-worker/src/main/java/tech/powerjob/worker/processor/impl/BuiltInSpringProcessorFactory.java @@ -55,13 +55,10 @@ public class BuiltInSpringProcessorFactory implements ProcessorFactory { } private boolean checkCanLoad() { - try { - ApplicationContext.class.getClassLoader(); - } catch (NoClassDefFoundError ndf) { - return false; + if (SpringUtils.inSpringEnv()) { + return applicationContext != null; } - - return applicationContext != null; + return false; } }