Przeglądaj źródła

feat: remove springUtils

tjq 2 lat temu
rodzic
commit
8e96fdacc6

+ 0 - 47
powerjob-worker/src/main/java/tech/powerjob/worker/common/utils/SpringUtils.java

@@ -1,47 +0,0 @@
-package tech.powerjob.worker.common.utils;
-
-import lombok.extern.slf4j.Slf4j;
-import org.springframework.context.ApplicationContext;
-
-/**
- * Spring ApplicationContext 工具类
- *
- * @author tjq
- * @since 2020/3/16
- */
-@Slf4j
-public class SpringUtils {
-
-    @SuppressWarnings("unchecked")
-    public static <T> T getBean(String className, ApplicationContext ctx) throws Exception {
-        // 1. ClassLoader 存在,则直接使用 clz 加载
-        ClassLoader classLoader = ctx.getClassLoader();
-        if (classLoader != null) {
-            return (T) ctx.getBean(classLoader.loadClass(className));
-        }
-        // 2. ClassLoader 不存在(系统类加载器不可见),尝试用类名称小写加载
-        String[] split = className.split("\\.");
-        String beanName = split[split.length - 1];
-        // 小写转大写
-        char[] cs = beanName.toCharArray();
-        cs[0] += 32;
-        String beanName0 = String.valueOf(cs);
-        log.warn("[SpringUtils] can't get ClassLoader from context[{}], try to load by beanName:{}", ctx, beanName0);
-        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;
-    }
-
-}

+ 23 - 3
powerjob-worker/src/main/java/tech/powerjob/worker/processor/impl/BuiltInSpringProcessorFactory.java

@@ -4,7 +4,6 @@ import com.google.common.collect.Sets;
 import lombok.extern.slf4j.Slf4j;
 import org.springframework.context.ApplicationContext;
 import tech.powerjob.common.enums.ProcessorType;
-import tech.powerjob.worker.common.utils.SpringUtils;
 import tech.powerjob.worker.core.processor.sdk.BasicProcessor;
 import tech.powerjob.worker.extension.processor.ProcessorBean;
 import tech.powerjob.worker.extension.processor.ProcessorDefinition;
@@ -42,7 +41,7 @@ public class BuiltInSpringProcessorFactory implements ProcessorFactory {
                 return null;
             }
 
-            BasicProcessor basicProcessor = SpringUtils.getBean(processorDefinition.getProcessorInfo(), applicationContext);
+            BasicProcessor basicProcessor = getBean(processorDefinition.getProcessorInfo(), applicationContext);
             return new ProcessorBean()
                     .setProcessor(basicProcessor)
                     .setClassLoader(basicProcessor.getClass().getClassLoader());
@@ -54,10 +53,31 @@ public class BuiltInSpringProcessorFactory implements ProcessorFactory {
     }
 
     private boolean checkCanLoad() {
-        if (SpringUtils.inSpringEnv()) {
+        try {
+            ApplicationContext.class.getClassLoader();
             return applicationContext != null;
+        } catch (Throwable ignore) {
         }
         return false;
     }
 
+
+    @SuppressWarnings("unchecked")
+    private static <T> T getBean(String className, ApplicationContext ctx) throws Exception {
+        // 1. ClassLoader 存在,则直接使用 clz 加载
+        ClassLoader classLoader = ctx.getClassLoader();
+        if (classLoader != null) {
+            return (T) ctx.getBean(classLoader.loadClass(className));
+        }
+        // 2. ClassLoader 不存在(系统类加载器不可见),尝试用类名称小写加载
+        String[] split = className.split("\\.");
+        String beanName = split[split.length - 1];
+        // 小写转大写
+        char[] cs = beanName.toCharArray();
+        cs[0] += 32;
+        String beanName0 = String.valueOf(cs);
+        log.warn("[SpringUtils] can't get ClassLoader from context[{}], try to load by beanName:{}", ctx, beanName0);
+        return (T) ctx.getBean(beanName0);
+    }
+
 }

+ 0 - 29
powerjob-worker/src/test/java/tech/powerjob/worker/test/ProcessorTrackerTest.java

@@ -1,29 +0,0 @@
-package tech.powerjob.worker.test;
-
-import tech.powerjob.worker.pojo.request.TaskTrackerStartTaskReq;
-import org.junit.jupiter.api.Test;
-
-
-/**
- * 测试任务的启动
- *
- * @author tjq
- * @since 2020/3/24
- */
-public class ProcessorTrackerTest extends CommonTest {
-
-    @Test
-    public void testBasicProcessor() throws Exception {
-
-        TaskTrackerStartTaskReq req = genTaskTrackerStartTaskReq("tech.powerjob.worker.test.processors.TestBasicProcessor");
-        remoteProcessorTracker.tell(req, null);
-        Thread.sleep(30000);
-    }
-
-    @Test
-    public void testMapReduceProcessor() throws Exception {
-        TaskTrackerStartTaskReq req = genTaskTrackerStartTaskReq("tech.powerjob.worker.test.processors.TestMapReduceProcessor");
-        remoteProcessorTracker.tell(req, null);
-        Thread.sleep(30000);
-    }
-}