From b9bd8079f29dcf894f96efcf09c14fcc2e830cd1 Mon Sep 17 00:00:00 2001 From: wangxiaopeng <157894372@qq.com> Date: Thu, 6 Apr 2023 18:08:56 +0800 Subject: [PATCH 01/10] =?UTF-8?q?=E8=B0=83=E5=BA=A6=E6=96=B9=E5=BC=8F?= =?UTF-8?q?=EF=BC=88=E6=96=B9=E6=B3=95=E5=BD=A2=E5=BC=8F=EF=BC=89=E6=96=B0?= =?UTF-8?q?=E5=A2=9E?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../tester/SpringMethodProcessorService.java | 17 ++ .../powerjob/worker/PowerJobSpringWorker.java | 3 + .../powerjob/worker/annotation/PowerJob.java | 22 +++ .../processor/MethodBasicProcessor.java | 25 +++ .../BuildInSpringMethodProcessorFactory.java | 146 ++++++++++++++++++ .../impl/BuiltInSpringProcessorFactory.java | 8 +- 6 files changed, 219 insertions(+), 2 deletions(-) create mode 100644 powerjob-worker-samples/src/main/java/tech/powerjob/samples/tester/SpringMethodProcessorService.java create mode 100644 powerjob-worker/src/main/java/tech/powerjob/worker/annotation/PowerJob.java create mode 100644 powerjob-worker/src/main/java/tech/powerjob/worker/processor/MethodBasicProcessor.java create mode 100644 powerjob-worker/src/main/java/tech/powerjob/worker/processor/impl/BuildInSpringMethodProcessorFactory.java diff --git a/powerjob-worker-samples/src/main/java/tech/powerjob/samples/tester/SpringMethodProcessorService.java b/powerjob-worker-samples/src/main/java/tech/powerjob/samples/tester/SpringMethodProcessorService.java new file mode 100644 index 00000000..62138555 --- /dev/null +++ b/powerjob-worker-samples/src/main/java/tech/powerjob/samples/tester/SpringMethodProcessorService.java @@ -0,0 +1,17 @@ +package tech.powerjob.samples.tester; + +import org.springframework.stereotype.Component; +import tech.powerjob.worker.annotation.PowerJob; +import tech.powerjob.worker.core.processor.TaskContext; +import tech.powerjob.worker.log.OmsLogger; + +@Component +public class SpringMethodProcessorService { + + @PowerJob("test") + public void test(TaskContext context) { + OmsLogger omsLogger = context.getOmsLogger(); + omsLogger.warn("测试日志"); + System.out.println("测试执行"); + } +} diff --git a/powerjob-worker/src/main/java/tech/powerjob/worker/PowerJobSpringWorker.java b/powerjob-worker/src/main/java/tech/powerjob/worker/PowerJobSpringWorker.java index 0bc21136..d6fb62f6 100644 --- a/powerjob-worker/src/main/java/tech/powerjob/worker/PowerJobSpringWorker.java +++ b/powerjob-worker/src/main/java/tech/powerjob/worker/PowerJobSpringWorker.java @@ -8,6 +8,7 @@ import org.springframework.context.ApplicationContext; import org.springframework.context.ApplicationContextAware; import tech.powerjob.worker.common.PowerJobWorkerConfig; import tech.powerjob.worker.extension.processor.ProcessorFactory; +import tech.powerjob.worker.processor.impl.BuildInSpringMethodProcessorFactory; import tech.powerjob.worker.processor.impl.BuiltInSpringProcessorFactory; import java.util.Collections; @@ -43,12 +44,14 @@ public class PowerJobSpringWorker implements ApplicationContextAware, Initializi public void setApplicationContext(ApplicationContext applicationContext) throws BeansException { BuiltInSpringProcessorFactory springProcessorFactory = new BuiltInSpringProcessorFactory(applicationContext); + BuildInSpringMethodProcessorFactory springMethodProcessorFactory = new BuildInSpringMethodProcessorFactory(applicationContext); // append BuiltInSpringProcessorFactory List processorFactories = Lists.newArrayList( Optional.ofNullable(config.getProcessorFactoryList()) .orElse(Collections.emptyList())); processorFactories.add(springProcessorFactory); + processorFactories.add(springMethodProcessorFactory); config.setProcessorFactoryList(processorFactories); } diff --git a/powerjob-worker/src/main/java/tech/powerjob/worker/annotation/PowerJob.java b/powerjob-worker/src/main/java/tech/powerjob/worker/annotation/PowerJob.java new file mode 100644 index 00000000..07c5fec0 --- /dev/null +++ b/powerjob-worker/src/main/java/tech/powerjob/worker/annotation/PowerJob.java @@ -0,0 +1,22 @@ +package tech.powerjob.worker.annotation; + + +import java.lang.annotation.*; + +/** + * 方法级别的power-job调度 + */ +@Target({ElementType.METHOD}) +@Retention(RetentionPolicy.RUNTIME) +@Inherited +public @interface PowerJob { + + + /** + * handler name + */ + String value(); + + + +} diff --git a/powerjob-worker/src/main/java/tech/powerjob/worker/processor/MethodBasicProcessor.java b/powerjob-worker/src/main/java/tech/powerjob/worker/processor/MethodBasicProcessor.java new file mode 100644 index 00000000..84425ecc --- /dev/null +++ b/powerjob-worker/src/main/java/tech/powerjob/worker/processor/MethodBasicProcessor.java @@ -0,0 +1,25 @@ +package tech.powerjob.worker.processor; + +import tech.powerjob.worker.core.processor.ProcessResult; +import tech.powerjob.worker.core.processor.TaskContext; +import tech.powerjob.worker.core.processor.sdk.BasicProcessor; + +import java.lang.reflect.Method; + +public class MethodBasicProcessor implements BasicProcessor { + + private final Object bean; + + private final Method method; + + public MethodBasicProcessor(Object bean, Method method) { + this.bean = bean; + this.method = method; + } + + @Override + public ProcessResult process(TaskContext context) throws Exception { + method.invoke(bean,context); + return new ProcessResult(true); + } +} diff --git a/powerjob-worker/src/main/java/tech/powerjob/worker/processor/impl/BuildInSpringMethodProcessorFactory.java b/powerjob-worker/src/main/java/tech/powerjob/worker/processor/impl/BuildInSpringMethodProcessorFactory.java new file mode 100644 index 00000000..de29b1ed --- /dev/null +++ b/powerjob-worker/src/main/java/tech/powerjob/worker/processor/impl/BuildInSpringMethodProcessorFactory.java @@ -0,0 +1,146 @@ +package tech.powerjob.worker.processor.impl; + +import com.google.common.collect.Sets; +import lombok.extern.slf4j.Slf4j; +import org.springframework.beans.factory.NoSuchBeanDefinitionException; +import org.springframework.context.ApplicationContext; +import tech.powerjob.common.enums.ProcessorType; +import tech.powerjob.worker.annotation.PowerJob; +import tech.powerjob.worker.extension.processor.ProcessorBean; +import tech.powerjob.worker.extension.processor.ProcessorDefinition; +import tech.powerjob.worker.extension.processor.ProcessorFactory; +import tech.powerjob.worker.processor.MethodBasicProcessor; + +import java.lang.reflect.Method; +import java.util.LinkedList; +import java.util.List; +import java.util.Set; + +/** + * 内建的 SpringBean 处理器工厂,用于加载 Spring 管理Bean下的方法(使用PowerJob注解),非核心依赖 + * + * @author wxp + * @since 2023/4/06 + */ + +@Slf4j +public class BuildInSpringMethodProcessorFactory implements ProcessorFactory { + + private final ApplicationContext applicationContext; + + private static final List jobHandlerRepository = new LinkedList<>(); + + private final static String DELIMITER = "#"; + + + public BuildInSpringMethodProcessorFactory(ApplicationContext applicationContext) { + this.applicationContext = applicationContext; + } + + + @Override + public Set supportTypes() { + return Sets.newHashSet(ProcessorType.BUILT_IN.name()); + } + + @Override + public ProcessorBean build(ProcessorDefinition processorDefinition) { + try { + boolean canLoad = checkCanLoad(); + if (!canLoad) { + log.info("[ProcessorFactory] can't find Spring env, this processor can't load by 'BuildInSpringMethodProcessorFactory'"); + return null; + } + String processorInfo = processorDefinition.getProcessorInfo(); + if (!processorInfo.contains(DELIMITER)) { + log.info("[ProcessorFactory] can't parse processorDefinition, this processor can't load by 'BuildInSpringMethodProcessorFactory'"); + return null; + } + String[] split = processorInfo.split("#"); + String methodName = split[1]; + String className = split[0]; + Object bean = getBean(className,applicationContext); + Method[] methods = bean.getClass().getDeclaredMethods(); + for (Method method : methods) { + PowerJob powerJob = method.getAnnotation(PowerJob.class); + if (powerJob == null) { + continue; + } + String name = powerJob.value(); + //匹配到和页面定义相同的methodName + if (!name.equals(methodName)) { + continue; + } + if (name.trim().length() == 0) { + throw new RuntimeException("method-jobhandler name invalid, for[" + bean.getClass() + "#" + method.getName() + "] ."); + } + if (containsJobHandler(name)) { + throw new RuntimeException("jobhandler[" + name + "] naming conflicts."); + } + method.setAccessible(true); + registerJobHandler(methodName); + + MethodBasicProcessor processor = new MethodBasicProcessor(bean, method); + return new ProcessorBean() + .setProcessor(processor) + .setClassLoader(processor.getClass().getClassLoader()); + } + } catch (NoSuchBeanDefinitionException ignore) { + log.warn("[ProcessorFactory] can't find the processor in SPRING"); + } catch (Throwable t) { + log.warn("[ProcessorFactory] load by BuiltInSpringProcessorFactory failed. If you are using Spring, make sure this bean was managed by Spring", t); + } + return null; + + } + + + public static void registerJobHandler(String name) { + jobHandlerRepository.add(name); + } + + + private boolean containsJobHandler(String name) { + return jobHandlerRepository.contains(name); + } + + private boolean checkCanLoad() { + try { + ApplicationContext.class.getClassLoader(); + return applicationContext != null; + } catch (Throwable ignore) { + } + return false; + } + + + @SuppressWarnings("unchecked") + private static Object getBean(String className, ApplicationContext ctx) throws Exception { + + // 0. 尝试直接用 Bean 名称加载 + try { + final Object bean = ctx.getBean(className); + if (bean != null) { + return bean; + } + } catch (Exception ignore) { + } + + // 1. ClassLoader 存在,则直接使用 clz 加载 + ClassLoader classLoader = ctx.getClassLoader(); + if (classLoader != null) { + return 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 ctx.getBean(beanName0); + } + + +} 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 3ce7481f..6408a6f7 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 @@ -41,8 +41,12 @@ public class BuiltInSpringProcessorFactory implements ProcessorFactory { log.info("[ProcessorFactory] can't find Spring env, this processor can't load by 'BuiltInSpringProcessorFactory'"); return null; } - - BasicProcessor basicProcessor = getBean(processorDefinition.getProcessorInfo(), applicationContext); + String processorInfo = processorDefinition.getProcessorInfo(); + //用于区分方法级别的参数 + if (processorInfo.contains("#")) { + return null; + } + BasicProcessor basicProcessor = getBean(processorInfo, applicationContext); return new ProcessorBean() .setProcessor(basicProcessor) .setClassLoader(basicProcessor.getClass().getClassLoader()); From 46165ccd97bc48d84388da38290e640d6808ed58 Mon Sep 17 00:00:00 2001 From: wangxiaopeng <157894372@qq.com> Date: Tue, 18 Apr 2023 14:43:38 +0800 Subject: [PATCH 02/10] =?UTF-8?q?=E8=8E=B7=E5=8F=96=E4=BB=BB=E5=8A=A1?= =?UTF-8?q?=E6=89=A7=E8=A1=8C=E7=BB=93=E6=9E=9C=EF=BC=8C=E5=B9=B6=E5=B0=86?= =?UTF-8?q?=E7=BB=93=E6=9E=9C=E8=BF=94=E5=9B=9E=E7=BB=99=E6=8E=A7=E5=88=B6?= =?UTF-8?q?=E5=8F=B0?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../samples/tester/SpringMethodProcessorService.java | 12 ++++++++++-- .../worker/processor/MethodBasicProcessor.java | 5 +++-- 2 files changed, 13 insertions(+), 4 deletions(-) diff --git a/powerjob-worker-samples/src/main/java/tech/powerjob/samples/tester/SpringMethodProcessorService.java b/powerjob-worker-samples/src/main/java/tech/powerjob/samples/tester/SpringMethodProcessorService.java index 62138555..cf9282c4 100644 --- a/powerjob-worker-samples/src/main/java/tech/powerjob/samples/tester/SpringMethodProcessorService.java +++ b/powerjob-worker-samples/src/main/java/tech/powerjob/samples/tester/SpringMethodProcessorService.java @@ -9,9 +9,17 @@ import tech.powerjob.worker.log.OmsLogger; public class SpringMethodProcessorService { @PowerJob("test") - public void test(TaskContext context) { + public String test(TaskContext context) { OmsLogger omsLogger = context.getOmsLogger(); omsLogger.warn("测试日志"); - System.out.println("测试执行"); + return null; + } + + + @PowerJob("test1") + public String test1(TaskContext context) { + OmsLogger omsLogger = context.getOmsLogger(); + omsLogger.warn("测试日志"); + return "测试日志"; } } diff --git a/powerjob-worker/src/main/java/tech/powerjob/worker/processor/MethodBasicProcessor.java b/powerjob-worker/src/main/java/tech/powerjob/worker/processor/MethodBasicProcessor.java index 84425ecc..b2634203 100644 --- a/powerjob-worker/src/main/java/tech/powerjob/worker/processor/MethodBasicProcessor.java +++ b/powerjob-worker/src/main/java/tech/powerjob/worker/processor/MethodBasicProcessor.java @@ -1,5 +1,6 @@ package tech.powerjob.worker.processor; +import tech.powerjob.common.serialize.JsonUtils; import tech.powerjob.worker.core.processor.ProcessResult; import tech.powerjob.worker.core.processor.TaskContext; import tech.powerjob.worker.core.processor.sdk.BasicProcessor; @@ -19,7 +20,7 @@ public class MethodBasicProcessor implements BasicProcessor { @Override public ProcessResult process(TaskContext context) throws Exception { - method.invoke(bean,context); - return new ProcessResult(true); + Object result = method.invoke(bean, context); + return new ProcessResult(true, JsonUtils.toJSONString(result)); } } From 47b050aba21e4234e3bde968655db009ed0cb7c8 Mon Sep 17 00:00:00 2001 From: wangxiaopeng <157894372@qq.com> Date: Tue, 18 Apr 2023 15:59:45 +0800 Subject: [PATCH 03/10] =?UTF-8?q?=E6=8A=BD=E5=8F=96Spring=20API=E4=B8=BA?= =?UTF-8?q?=E5=85=AC=E5=85=B1=E6=8A=BD=E8=B1=A1=E7=88=B6=E7=B1=BB?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- ...AbstractBuildInSpringProcessorFactory.java | 65 +++++++++++++++++++ .../BuildInSpringMethodProcessorFactory.java | 54 +-------------- .../impl/BuiltInSpringProcessorFactory.java | 47 +------------- 3 files changed, 69 insertions(+), 97 deletions(-) create mode 100644 powerjob-worker/src/main/java/tech/powerjob/worker/processor/impl/AbstractBuildInSpringProcessorFactory.java diff --git a/powerjob-worker/src/main/java/tech/powerjob/worker/processor/impl/AbstractBuildInSpringProcessorFactory.java b/powerjob-worker/src/main/java/tech/powerjob/worker/processor/impl/AbstractBuildInSpringProcessorFactory.java new file mode 100644 index 00000000..d4d5a16d --- /dev/null +++ b/powerjob-worker/src/main/java/tech/powerjob/worker/processor/impl/AbstractBuildInSpringProcessorFactory.java @@ -0,0 +1,65 @@ +package tech.powerjob.worker.processor.impl; + +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.extension.processor.ProcessorFactory; + +import java.util.Set; + +@Slf4j +public abstract class AbstractBuildInSpringProcessorFactory implements ProcessorFactory { + + protected final ApplicationContext applicationContext; + + protected AbstractBuildInSpringProcessorFactory(ApplicationContext applicationContext) { + this.applicationContext = applicationContext; + } + + @Override + public Set supportTypes() { + return Sets.newHashSet(ProcessorType.BUILT_IN.name()); + } + + protected boolean checkCanLoad() { + try { + ApplicationContext.class.getClassLoader(); + return applicationContext != null; + } catch (Throwable ignore) { + } + return false; + } + + + @SuppressWarnings("unchecked") + protected static T getBean(String className, ApplicationContext ctx) throws Exception { + + // 0. 尝试直接用 Bean 名称加载 + try { + final Object bean = ctx.getBean(className); + if (bean != null) { + return (T) bean; + } + } catch (Exception ignore) { + } + + // 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); + } + + + +} diff --git a/powerjob-worker/src/main/java/tech/powerjob/worker/processor/impl/BuildInSpringMethodProcessorFactory.java b/powerjob-worker/src/main/java/tech/powerjob/worker/processor/impl/BuildInSpringMethodProcessorFactory.java index de29b1ed..f05c89cc 100644 --- a/powerjob-worker/src/main/java/tech/powerjob/worker/processor/impl/BuildInSpringMethodProcessorFactory.java +++ b/powerjob-worker/src/main/java/tech/powerjob/worker/processor/impl/BuildInSpringMethodProcessorFactory.java @@ -1,20 +1,16 @@ package tech.powerjob.worker.processor.impl; -import com.google.common.collect.Sets; import lombok.extern.slf4j.Slf4j; import org.springframework.beans.factory.NoSuchBeanDefinitionException; import org.springframework.context.ApplicationContext; -import tech.powerjob.common.enums.ProcessorType; import tech.powerjob.worker.annotation.PowerJob; import tech.powerjob.worker.extension.processor.ProcessorBean; import tech.powerjob.worker.extension.processor.ProcessorDefinition; -import tech.powerjob.worker.extension.processor.ProcessorFactory; import tech.powerjob.worker.processor.MethodBasicProcessor; import java.lang.reflect.Method; import java.util.LinkedList; import java.util.List; -import java.util.Set; /** * 内建的 SpringBean 处理器工厂,用于加载 Spring 管理Bean下的方法(使用PowerJob注解),非核心依赖 @@ -24,9 +20,7 @@ import java.util.Set; */ @Slf4j -public class BuildInSpringMethodProcessorFactory implements ProcessorFactory { - - private final ApplicationContext applicationContext; +public class BuildInSpringMethodProcessorFactory extends AbstractBuildInSpringProcessorFactory { private static final List jobHandlerRepository = new LinkedList<>(); @@ -34,15 +28,10 @@ public class BuildInSpringMethodProcessorFactory implements ProcessorFactory { public BuildInSpringMethodProcessorFactory(ApplicationContext applicationContext) { - this.applicationContext = applicationContext; + super(applicationContext); } - @Override - public Set supportTypes() { - return Sets.newHashSet(ProcessorType.BUILT_IN.name()); - } - @Override public ProcessorBean build(ProcessorDefinition processorDefinition) { try { @@ -91,7 +80,6 @@ public class BuildInSpringMethodProcessorFactory implements ProcessorFactory { log.warn("[ProcessorFactory] load by BuiltInSpringProcessorFactory failed. If you are using Spring, make sure this bean was managed by Spring", t); } return null; - } @@ -104,43 +92,5 @@ public class BuildInSpringMethodProcessorFactory implements ProcessorFactory { return jobHandlerRepository.contains(name); } - private boolean checkCanLoad() { - try { - ApplicationContext.class.getClassLoader(); - return applicationContext != null; - } catch (Throwable ignore) { - } - return false; - } - - - @SuppressWarnings("unchecked") - private static Object getBean(String className, ApplicationContext ctx) throws Exception { - - // 0. 尝试直接用 Bean 名称加载 - try { - final Object bean = ctx.getBean(className); - if (bean != null) { - return bean; - } - } catch (Exception ignore) { - } - - // 1. ClassLoader 存在,则直接使用 clz 加载 - ClassLoader classLoader = ctx.getClassLoader(); - if (classLoader != null) { - return 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 ctx.getBean(beanName0); - } - } 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 6408a6f7..b72c540b 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 @@ -19,17 +19,11 @@ import java.util.Set; * @since 2023/1/17 */ @Slf4j -public class BuiltInSpringProcessorFactory implements ProcessorFactory { +public class BuiltInSpringProcessorFactory extends AbstractBuildInSpringProcessorFactory { - private final ApplicationContext applicationContext; public BuiltInSpringProcessorFactory(ApplicationContext applicationContext) { - this.applicationContext = applicationContext; - } - - @Override - public Set supportTypes() { - return Sets.newHashSet(ProcessorType.BUILT_IN.name()); + super(applicationContext); } @Override @@ -59,42 +53,5 @@ public class BuiltInSpringProcessorFactory implements ProcessorFactory { return null; } - private boolean checkCanLoad() { - try { - ApplicationContext.class.getClassLoader(); - return applicationContext != null; - } catch (Throwable ignore) { - } - return false; - } - - - @SuppressWarnings("unchecked") - private static T getBean(String className, ApplicationContext ctx) throws Exception { - - // 0. 尝试直接用 Bean 名称加载 - try { - final Object bean = ctx.getBean(className); - if (bean != null) { - return (T) bean; - } - } catch (Exception ignore) { - } - - // 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); - } } From 174696066d6bb5b5ad27df74ca791df2d121a7cb Mon Sep 17 00:00:00 2001 From: tjq Date: Sun, 7 May 2023 21:41:00 +0800 Subject: [PATCH 04/10] feat: add log to check resource release status #627 --- .../tech/powerjob/worker/persistence/ConnectionFactory.java | 4 +++- 1 file changed, 3 insertions(+), 1 deletion(-) diff --git a/powerjob-worker/src/main/java/tech/powerjob/worker/persistence/ConnectionFactory.java b/powerjob-worker/src/main/java/tech/powerjob/worker/persistence/ConnectionFactory.java index dfbe2cd0..bd502361 100644 --- a/powerjob-worker/src/main/java/tech/powerjob/worker/persistence/ConnectionFactory.java +++ b/powerjob-worker/src/main/java/tech/powerjob/worker/persistence/ConnectionFactory.java @@ -57,7 +57,9 @@ public class ConnectionFactory { // JVM 关闭时删除数据库文件 try { FileUtils.forceDeleteOnExit(new File(H2_PATH)); - }catch (Exception ignore) { + log.info("[PowerDatasource] delete worker db file[{}] on JVM exit successfully", H2_PATH); + }catch (Throwable t) { + log.warn("[PowerDatasource] delete file on JVM exit failed: {}", H2_PATH, t); } } From a7394e518c62c029cef66c5435050499692675fa Mon Sep 17 00:00:00 2001 From: tjq Date: Sun, 7 May 2023 22:08:14 +0800 Subject: [PATCH 05/10] fix: server can't record zero cost processor's status #620 --- .../server/core/instance/InstanceManager.java | 9 +++++++++ .../processors/test/ZeroCostTestProcessor.java | 18 ++++++++++++++++++ 2 files changed, 27 insertions(+) create mode 100644 powerjob-worker-samples/src/main/java/tech/powerjob/samples/processors/test/ZeroCostTestProcessor.java diff --git a/powerjob-server/powerjob-server-core/src/main/java/tech/powerjob/server/core/instance/InstanceManager.java b/powerjob-server/powerjob-server-core/src/main/java/tech/powerjob/server/core/instance/InstanceManager.java index ee2b517d..07f02e94 100644 --- a/powerjob-server/powerjob-server-core/src/main/java/tech/powerjob/server/core/instance/InstanceManager.java +++ b/powerjob-server/powerjob-server-core/src/main/java/tech/powerjob/server/core/instance/InstanceManager.java @@ -10,6 +10,7 @@ import tech.powerjob.common.enums.TimeExpressionType; import tech.powerjob.common.model.LifeCycle; import tech.powerjob.common.request.ServerStopInstanceReq; import tech.powerjob.common.request.TaskTrackerReportInstanceStatusReq; +import tech.powerjob.common.utils.CommonUtils; import tech.powerjob.remote.framework.base.URL; import tech.powerjob.server.common.module.WorkerInfo; import tech.powerjob.server.common.timewheel.holder.HashedWheelTimerHolder; @@ -81,6 +82,14 @@ public class InstanceManager implements TransportServiceAware { log.warn("[InstanceManager-{}] can't find InstanceInfo from database", instanceId); return; } + + // 考虑极端情况:Processor 处理耗时小于 server 写 DB 耗时,会导致状态上报时无 taskTracker 地址,此处等待后重新从DB获取数据 GitHub#620 + if (StringUtils.isEmpty(instanceInfo.getTaskTrackerAddress())) { + log.warn("[InstanceManager-{}] TaskTrackerAddress is empty, server will wait then acquire again!", instanceId); + CommonUtils.easySleep(277); + instanceInfo = instanceInfoRepository.findByInstanceId(instanceId); + } + int originStatus = instanceInfo.getStatus(); // 丢弃过期的上报数据 if (req.getReportTime() <= instanceInfo.getLastReportTime()) { diff --git a/powerjob-worker-samples/src/main/java/tech/powerjob/samples/processors/test/ZeroCostTestProcessor.java b/powerjob-worker-samples/src/main/java/tech/powerjob/samples/processors/test/ZeroCostTestProcessor.java new file mode 100644 index 00000000..4f4fdf4a --- /dev/null +++ b/powerjob-worker-samples/src/main/java/tech/powerjob/samples/processors/test/ZeroCostTestProcessor.java @@ -0,0 +1,18 @@ +package tech.powerjob.samples.processors.test; + +import tech.powerjob.worker.core.processor.ProcessResult; +import tech.powerjob.worker.core.processor.TaskContext; +import tech.powerjob.worker.core.processor.sdk.BasicProcessor; + +/** + * ZeroCostTestProcessor + * + * @author tjq + * @since 2023/5/7 + */ +public class ZeroCostTestProcessor implements BasicProcessor { + @Override + public ProcessResult process(TaskContext context) throws Exception { + return new ProcessResult(true, "zero cost"); + } +} From 8953ecc74f8d8a5c860113774546e40ed34f37fc Mon Sep 17 00:00:00 2001 From: tjq Date: Sun, 11 Jun 2023 15:40:50 +0800 Subject: [PATCH 06/10] feat: support powerjob method handler --- .../tester/SpringMethodProcessorService.java | 18 ++++++++++++------ .../{PowerJob.java => PowerJobHandler.java} | 8 ++++++-- .../BuildInSpringMethodProcessorFactory.java | 8 ++++---- 3 files changed, 22 insertions(+), 12 deletions(-) rename powerjob-worker/src/main/java/tech/powerjob/worker/annotation/{PowerJob.java => PowerJobHandler.java} (52%) diff --git a/powerjob-worker-samples/src/main/java/tech/powerjob/samples/tester/SpringMethodProcessorService.java b/powerjob-worker-samples/src/main/java/tech/powerjob/samples/tester/SpringMethodProcessorService.java index cf9282c4..7875f8e3 100644 --- a/powerjob-worker-samples/src/main/java/tech/powerjob/samples/tester/SpringMethodProcessorService.java +++ b/powerjob-worker-samples/src/main/java/tech/powerjob/samples/tester/SpringMethodProcessorService.java @@ -1,25 +1,31 @@ package tech.powerjob.samples.tester; import org.springframework.stereotype.Component; -import tech.powerjob.worker.annotation.PowerJob; +import tech.powerjob.worker.annotation.PowerJobHandler; import tech.powerjob.worker.core.processor.TaskContext; import tech.powerjob.worker.log.OmsLogger; @Component public class SpringMethodProcessorService { - @PowerJob("test") - public String test(TaskContext context) { + @PowerJobHandler(name = "testEmptyReturn") + public void test(TaskContext context) { OmsLogger omsLogger = context.getOmsLogger(); omsLogger.warn("测试日志"); - return null; } - @PowerJob("test1") + @PowerJobHandler(name = "testNormalReturn") public String test1(TaskContext context) { OmsLogger omsLogger = context.getOmsLogger(); omsLogger.warn("测试日志"); - return "测试日志"; + return "testNormalReturn"; + } + + @PowerJobHandler(name = "testThrowException") + public String testThrowException(TaskContext context) { + OmsLogger omsLogger = context.getOmsLogger(); + omsLogger.warn("testThrowException"); + throw new IllegalArgumentException("test"); } } diff --git a/powerjob-worker/src/main/java/tech/powerjob/worker/annotation/PowerJob.java b/powerjob-worker/src/main/java/tech/powerjob/worker/annotation/PowerJobHandler.java similarity index 52% rename from powerjob-worker/src/main/java/tech/powerjob/worker/annotation/PowerJob.java rename to powerjob-worker/src/main/java/tech/powerjob/worker/annotation/PowerJobHandler.java index 07c5fec0..b0324df5 100644 --- a/powerjob-worker/src/main/java/tech/powerjob/worker/annotation/PowerJob.java +++ b/powerjob-worker/src/main/java/tech/powerjob/worker/annotation/PowerJobHandler.java @@ -5,17 +5,21 @@ import java.lang.annotation.*; /** * 方法级别的power-job调度 + * PR#610 + * + * @author vannewang + * @since 2023/4/6 */ @Target({ElementType.METHOD}) @Retention(RetentionPolicy.RUNTIME) @Inherited -public @interface PowerJob { +public @interface PowerJobHandler { /** * handler name */ - String value(); + String name(); diff --git a/powerjob-worker/src/main/java/tech/powerjob/worker/processor/impl/BuildInSpringMethodProcessorFactory.java b/powerjob-worker/src/main/java/tech/powerjob/worker/processor/impl/BuildInSpringMethodProcessorFactory.java index f05c89cc..b7a582ff 100644 --- a/powerjob-worker/src/main/java/tech/powerjob/worker/processor/impl/BuildInSpringMethodProcessorFactory.java +++ b/powerjob-worker/src/main/java/tech/powerjob/worker/processor/impl/BuildInSpringMethodProcessorFactory.java @@ -3,7 +3,7 @@ package tech.powerjob.worker.processor.impl; import lombok.extern.slf4j.Slf4j; import org.springframework.beans.factory.NoSuchBeanDefinitionException; import org.springframework.context.ApplicationContext; -import tech.powerjob.worker.annotation.PowerJob; +import tech.powerjob.worker.annotation.PowerJobHandler; import tech.powerjob.worker.extension.processor.ProcessorBean; import tech.powerjob.worker.extension.processor.ProcessorDefinition; import tech.powerjob.worker.processor.MethodBasicProcessor; @@ -45,17 +45,17 @@ public class BuildInSpringMethodProcessorFactory extends AbstractBuildInSpringPr log.info("[ProcessorFactory] can't parse processorDefinition, this processor can't load by 'BuildInSpringMethodProcessorFactory'"); return null; } - String[] split = processorInfo.split("#"); + String[] split = processorInfo.split(DELIMITER); String methodName = split[1]; String className = split[0]; Object bean = getBean(className,applicationContext); Method[] methods = bean.getClass().getDeclaredMethods(); for (Method method : methods) { - PowerJob powerJob = method.getAnnotation(PowerJob.class); + PowerJobHandler powerJob = method.getAnnotation(PowerJobHandler.class); if (powerJob == null) { continue; } - String name = powerJob.value(); + String name = powerJob.name(); //匹配到和页面定义相同的methodName if (!name.equals(methodName)) { continue; From 388581c3213205276600b3bce4fd0f1b6db0dac3 Mon Sep 17 00:00:00 2001 From: tjq Date: Sun, 11 Jun 2023 15:51:12 +0800 Subject: [PATCH 07/10] chore: add exec for server --- powerjob-server/powerjob-server-starter/pom.xml | 2 ++ 1 file changed, 2 insertions(+) diff --git a/powerjob-server/powerjob-server-starter/pom.xml b/powerjob-server/powerjob-server-starter/pom.xml index b53f59a1..960649be 100644 --- a/powerjob-server/powerjob-server-starter/pom.xml +++ b/powerjob-server/powerjob-server-starter/pom.xml @@ -58,6 +58,8 @@ ${springboot.version} tech.powerjob.server.PowerJobServerApplication + + exec From e2887a12f65357ff142574e02467de142fbb17fe Mon Sep 17 00:00:00 2001 From: tjq Date: Sun, 11 Jun 2023 16:44:28 +0800 Subject: [PATCH 08/10] fix: SpringMethodProcessor can't throw correct exception --- .../tester/SpringMethodProcessorService.java | 7 ++++++- .../BuildInSpringMethodProcessorFactory.java | 1 - .../{ => impl}/MethodBasicProcessor.java | 16 ++++++++++++---- 3 files changed, 18 insertions(+), 6 deletions(-) rename powerjob-worker/src/main/java/tech/powerjob/worker/processor/{ => impl}/MethodBasicProcessor.java (50%) diff --git a/powerjob-worker-samples/src/main/java/tech/powerjob/samples/tester/SpringMethodProcessorService.java b/powerjob-worker-samples/src/main/java/tech/powerjob/samples/tester/SpringMethodProcessorService.java index 7875f8e3..9b8b20eb 100644 --- a/powerjob-worker-samples/src/main/java/tech/powerjob/samples/tester/SpringMethodProcessorService.java +++ b/powerjob-worker-samples/src/main/java/tech/powerjob/samples/tester/SpringMethodProcessorService.java @@ -5,9 +5,14 @@ import tech.powerjob.worker.annotation.PowerJobHandler; import tech.powerjob.worker.core.processor.TaskContext; import tech.powerjob.worker.log.OmsLogger; -@Component +@Component(value = "springMethodProcessorService") public class SpringMethodProcessorService { + /** + * 处理器配置方法1: 全限定类名#方法名,比如 tech.powerjob.samples.tester.SpringMethodProcessorService#testEmptyReturn + * 处理器配置方法2: SpringBean名称#方法名,比如 springMethodProcessorService#testEmptyReturn + * @param context 必须要有入参 TaskContext,返回值可以是 null,也可以是其他任意类型。正常返回代表成功,抛出异常代表执行失败 + */ @PowerJobHandler(name = "testEmptyReturn") public void test(TaskContext context) { OmsLogger omsLogger = context.getOmsLogger(); diff --git a/powerjob-worker/src/main/java/tech/powerjob/worker/processor/impl/BuildInSpringMethodProcessorFactory.java b/powerjob-worker/src/main/java/tech/powerjob/worker/processor/impl/BuildInSpringMethodProcessorFactory.java index b7a582ff..00021bb6 100644 --- a/powerjob-worker/src/main/java/tech/powerjob/worker/processor/impl/BuildInSpringMethodProcessorFactory.java +++ b/powerjob-worker/src/main/java/tech/powerjob/worker/processor/impl/BuildInSpringMethodProcessorFactory.java @@ -6,7 +6,6 @@ import org.springframework.context.ApplicationContext; import tech.powerjob.worker.annotation.PowerJobHandler; import tech.powerjob.worker.extension.processor.ProcessorBean; import tech.powerjob.worker.extension.processor.ProcessorDefinition; -import tech.powerjob.worker.processor.MethodBasicProcessor; import java.lang.reflect.Method; import java.util.LinkedList; diff --git a/powerjob-worker/src/main/java/tech/powerjob/worker/processor/MethodBasicProcessor.java b/powerjob-worker/src/main/java/tech/powerjob/worker/processor/impl/MethodBasicProcessor.java similarity index 50% rename from powerjob-worker/src/main/java/tech/powerjob/worker/processor/MethodBasicProcessor.java rename to powerjob-worker/src/main/java/tech/powerjob/worker/processor/impl/MethodBasicProcessor.java index b2634203..b148591f 100644 --- a/powerjob-worker/src/main/java/tech/powerjob/worker/processor/MethodBasicProcessor.java +++ b/powerjob-worker/src/main/java/tech/powerjob/worker/processor/impl/MethodBasicProcessor.java @@ -1,13 +1,15 @@ -package tech.powerjob.worker.processor; +package tech.powerjob.worker.processor.impl; +import org.apache.commons.lang3.exception.ExceptionUtils; import tech.powerjob.common.serialize.JsonUtils; import tech.powerjob.worker.core.processor.ProcessResult; import tech.powerjob.worker.core.processor.TaskContext; import tech.powerjob.worker.core.processor.sdk.BasicProcessor; +import java.lang.reflect.InvocationTargetException; import java.lang.reflect.Method; -public class MethodBasicProcessor implements BasicProcessor { +class MethodBasicProcessor implements BasicProcessor { private final Object bean; @@ -20,7 +22,13 @@ public class MethodBasicProcessor implements BasicProcessor { @Override public ProcessResult process(TaskContext context) throws Exception { - Object result = method.invoke(bean, context); - return new ProcessResult(true, JsonUtils.toJSONString(result)); + try { + Object result = method.invoke(bean, context); + return new ProcessResult(true, JsonUtils.toJSONString(result)); + } catch (InvocationTargetException ite) { + ExceptionUtils.rethrow(ite.getTargetException()); + } + + return new ProcessResult(false, "IMPOSSIBLE"); } } From 5cfd0f8e74cb85aa6ac752c06061ccb876a8de40 Mon Sep 17 00:00:00 2001 From: tjq Date: Sun, 11 Jun 2023 16:45:44 +0800 Subject: [PATCH 09/10] chore: change main version to 4.3.3 --- pom.xml | 2 +- powerjob-client/pom.xml | 6 +++--- powerjob-common/pom.xml | 4 ++-- powerjob-official-processors/pom.xml | 6 +++--- powerjob-remote/pom.xml | 2 +- powerjob-remote/powerjob-remote-benchmark/pom.xml | 6 +++--- powerjob-remote/powerjob-remote-framework/pom.xml | 6 +++--- powerjob-remote/powerjob-remote-impl-akka/pom.xml | 6 +++--- powerjob-remote/powerjob-remote-impl-http/pom.xml | 6 +++--- powerjob-server/pom.xml | 10 +++++----- powerjob-server/powerjob-server-common/pom.xml | 2 +- powerjob-server/powerjob-server-core/pom.xml | 2 +- powerjob-server/powerjob-server-extension/pom.xml | 2 +- powerjob-server/powerjob-server-migrate/pom.xml | 2 +- powerjob-server/powerjob-server-monitor/pom.xml | 2 +- powerjob-server/powerjob-server-persistence/pom.xml | 2 +- powerjob-server/powerjob-server-remote/pom.xml | 2 +- powerjob-server/powerjob-server-starter/pom.xml | 2 +- powerjob-worker-agent/pom.xml | 10 +++++----- powerjob-worker-samples/pom.xml | 8 ++++---- .../samples/tester/SpringMethodProcessorService.java | 4 ++-- powerjob-worker-spring-boot-starter/pom.xml | 6 +++--- powerjob-worker/pom.xml | 12 ++++++------ 23 files changed, 55 insertions(+), 55 deletions(-) diff --git a/pom.xml b/pom.xml index db1df523..f946cf27 100644 --- a/pom.xml +++ b/pom.xml @@ -6,7 +6,7 @@ tech.powerjob powerjob - 4.3.2 + 4.3.3 pom powerjob http://www.powerjob.tech diff --git a/powerjob-client/pom.xml b/powerjob-client/pom.xml index 1259b8d9..dfacf993 100644 --- a/powerjob-client/pom.xml +++ b/powerjob-client/pom.xml @@ -5,18 +5,18 @@ powerjob tech.powerjob - 4.3.2 + 4.3.3 4.0.0 powerjob-client - 4.3.2 + 4.3.3 jar 5.9.1 1.2.83 - 4.3.2 + 4.3.3 3.2.4 diff --git a/powerjob-common/pom.xml b/powerjob-common/pom.xml index 694e2bda..179357d0 100644 --- a/powerjob-common/pom.xml +++ b/powerjob-common/pom.xml @@ -5,12 +5,12 @@ powerjob tech.powerjob - 4.3.2 + 4.3.3 4.0.0 powerjob-common - 4.3.2 + 4.3.3 jar diff --git a/powerjob-official-processors/pom.xml b/powerjob-official-processors/pom.xml index 5511b4d2..c4cc43a7 100644 --- a/powerjob-official-processors/pom.xml +++ b/powerjob-official-processors/pom.xml @@ -5,12 +5,12 @@ powerjob tech.powerjob - 4.3.2 + 4.3.3 4.0.0 powerjob-official-processors - 4.3.2 + 4.3.3 jar @@ -20,7 +20,7 @@ 5.9.1 1.2.9 - 4.3.2 + 4.3.3 5.2.9.RELEASE 2.1.214 8.0.28 diff --git a/powerjob-remote/pom.xml b/powerjob-remote/pom.xml index b9b330ee..e15ded3d 100644 --- a/powerjob-remote/pom.xml +++ b/powerjob-remote/pom.xml @@ -5,7 +5,7 @@ powerjob tech.powerjob - 4.3.2 + 4.3.3 4.0.0 pom diff --git a/powerjob-remote/powerjob-remote-benchmark/pom.xml b/powerjob-remote/powerjob-remote-benchmark/pom.xml index 0564f87c..de40102e 100644 --- a/powerjob-remote/powerjob-remote-benchmark/pom.xml +++ b/powerjob-remote/powerjob-remote-benchmark/pom.xml @@ -5,7 +5,7 @@ powerjob-remote tech.powerjob - 4.3.2 + 4.3.3 4.0.0 @@ -21,8 +21,8 @@ 1.2.9 2.7.4 - 4.3.2 - 4.3.2 + 4.3.3 + 4.3.3 3.9.0 4.2.9 diff --git a/powerjob-remote/powerjob-remote-framework/pom.xml b/powerjob-remote/powerjob-remote-framework/pom.xml index 5f2441a4..3735d44a 100644 --- a/powerjob-remote/powerjob-remote-framework/pom.xml +++ b/powerjob-remote/powerjob-remote-framework/pom.xml @@ -5,11 +5,11 @@ powerjob-remote tech.powerjob - 4.3.2 + 4.3.3 4.0.0 - 4.3.2 + 4.3.3 powerjob-remote-framework @@ -17,7 +17,7 @@ 8 UTF-8 - 4.3.2 + 4.3.3 0.10.2 diff --git a/powerjob-remote/powerjob-remote-impl-akka/pom.xml b/powerjob-remote/powerjob-remote-impl-akka/pom.xml index 15f58d31..20248943 100644 --- a/powerjob-remote/powerjob-remote-impl-akka/pom.xml +++ b/powerjob-remote/powerjob-remote-impl-akka/pom.xml @@ -5,19 +5,19 @@ powerjob-remote tech.powerjob - 4.3.2 + 4.3.3 4.0.0 powerjob-remote-impl-akka - 4.3.2 + 4.3.3 8 8 UTF-8 - 4.3.2 + 4.3.3 2.6.13 diff --git a/powerjob-remote/powerjob-remote-impl-http/pom.xml b/powerjob-remote/powerjob-remote-impl-http/pom.xml index 557b3b00..f0f2dcee 100644 --- a/powerjob-remote/powerjob-remote-impl-http/pom.xml +++ b/powerjob-remote/powerjob-remote-impl-http/pom.xml @@ -5,12 +5,12 @@ powerjob-remote tech.powerjob - 4.3.2 + 4.3.3 4.0.0 powerjob-remote-impl-http - 4.3.2 + 4.3.3 8 @@ -18,7 +18,7 @@ UTF-8 4.3.7 - 4.3.2 + 4.3.3 diff --git a/powerjob-server/pom.xml b/powerjob-server/pom.xml index 6e4bc90b..df3bd5fe 100644 --- a/powerjob-server/pom.xml +++ b/powerjob-server/pom.xml @@ -5,12 +5,12 @@ powerjob tech.powerjob - 4.3.2 + 4.3.3 4.0.0 powerjob-server - 4.3.2 + 4.3.3 pom @@ -49,9 +49,9 @@ 3.0.10 9.1.6 - 4.3.2 - 4.3.2 - 4.3.2 + 4.3.3 + 4.3.3 + 4.3.3 1.6.14 diff --git a/powerjob-server/powerjob-server-common/pom.xml b/powerjob-server/powerjob-server-common/pom.xml index e38fcd53..bbff066f 100644 --- a/powerjob-server/powerjob-server-common/pom.xml +++ b/powerjob-server/powerjob-server-common/pom.xml @@ -5,7 +5,7 @@ powerjob-server tech.powerjob - 4.3.2 + 4.3.3 ../pom.xml 4.0.0 diff --git a/powerjob-server/powerjob-server-core/pom.xml b/powerjob-server/powerjob-server-core/pom.xml index 60beb006..3473f27a 100644 --- a/powerjob-server/powerjob-server-core/pom.xml +++ b/powerjob-server/powerjob-server-core/pom.xml @@ -5,7 +5,7 @@ powerjob-server tech.powerjob - 4.3.2 + 4.3.3 ../pom.xml 4.0.0 diff --git a/powerjob-server/powerjob-server-extension/pom.xml b/powerjob-server/powerjob-server-extension/pom.xml index 0dc14617..aa65f78d 100644 --- a/powerjob-server/powerjob-server-extension/pom.xml +++ b/powerjob-server/powerjob-server-extension/pom.xml @@ -5,7 +5,7 @@ powerjob-server tech.powerjob - 4.3.2 + 4.3.3 ../pom.xml 4.0.0 diff --git a/powerjob-server/powerjob-server-migrate/pom.xml b/powerjob-server/powerjob-server-migrate/pom.xml index 2d7fd98d..6d245066 100644 --- a/powerjob-server/powerjob-server-migrate/pom.xml +++ b/powerjob-server/powerjob-server-migrate/pom.xml @@ -5,7 +5,7 @@ powerjob-server tech.powerjob - 4.3.2 + 4.3.3 ../pom.xml 4.0.0 diff --git a/powerjob-server/powerjob-server-monitor/pom.xml b/powerjob-server/powerjob-server-monitor/pom.xml index 2a576025..6158c254 100644 --- a/powerjob-server/powerjob-server-monitor/pom.xml +++ b/powerjob-server/powerjob-server-monitor/pom.xml @@ -5,7 +5,7 @@ powerjob-server tech.powerjob - 4.3.2 + 4.3.3 ../pom.xml 4.0.0 diff --git a/powerjob-server/powerjob-server-persistence/pom.xml b/powerjob-server/powerjob-server-persistence/pom.xml index 3e157df6..c5494ae9 100644 --- a/powerjob-server/powerjob-server-persistence/pom.xml +++ b/powerjob-server/powerjob-server-persistence/pom.xml @@ -5,7 +5,7 @@ powerjob-server tech.powerjob - 4.3.2 + 4.3.3 ../pom.xml 4.0.0 diff --git a/powerjob-server/powerjob-server-remote/pom.xml b/powerjob-server/powerjob-server-remote/pom.xml index a587fe6b..e5040c98 100644 --- a/powerjob-server/powerjob-server-remote/pom.xml +++ b/powerjob-server/powerjob-server-remote/pom.xml @@ -5,7 +5,7 @@ powerjob-server tech.powerjob - 4.3.2 + 4.3.3 ../pom.xml 4.0.0 diff --git a/powerjob-server/powerjob-server-starter/pom.xml b/powerjob-server/powerjob-server-starter/pom.xml index 960649be..87a35de8 100644 --- a/powerjob-server/powerjob-server-starter/pom.xml +++ b/powerjob-server/powerjob-server-starter/pom.xml @@ -5,7 +5,7 @@ powerjob-server tech.powerjob - 4.3.2 + 4.3.3 ../pom.xml 4.0.0 diff --git a/powerjob-worker-agent/pom.xml b/powerjob-worker-agent/pom.xml index 451f7cb0..c24f3fc5 100644 --- a/powerjob-worker-agent/pom.xml +++ b/powerjob-worker-agent/pom.xml @@ -5,24 +5,24 @@ powerjob tech.powerjob - 4.3.2 + 4.3.3 4.0.0 powerjob-worker-agent - 4.3.2 + 4.3.3 jar - 4.3.2 + 4.3.3 1.2.9 - 4.3.2 + 4.3.3 5.3.23 2.3.4.RELEASE - 4.3.2 + 4.3.3 8.0.28 diff --git a/powerjob-worker-samples/pom.xml b/powerjob-worker-samples/pom.xml index 83348b52..cc616a8f 100644 --- a/powerjob-worker-samples/pom.xml +++ b/powerjob-worker-samples/pom.xml @@ -5,18 +5,18 @@ powerjob tech.powerjob - 4.3.2 + 4.3.3 4.0.0 powerjob-worker-samples - 4.3.2 + 4.3.3 2.7.4 - 4.3.2 + 4.3.3 1.2.83 - 4.3.2 + 4.3.3 true diff --git a/powerjob-worker-samples/src/main/java/tech/powerjob/samples/tester/SpringMethodProcessorService.java b/powerjob-worker-samples/src/main/java/tech/powerjob/samples/tester/SpringMethodProcessorService.java index 9b8b20eb..ce0777cd 100644 --- a/powerjob-worker-samples/src/main/java/tech/powerjob/samples/tester/SpringMethodProcessorService.java +++ b/powerjob-worker-samples/src/main/java/tech/powerjob/samples/tester/SpringMethodProcessorService.java @@ -14,14 +14,14 @@ public class SpringMethodProcessorService { * @param context 必须要有入参 TaskContext,返回值可以是 null,也可以是其他任意类型。正常返回代表成功,抛出异常代表执行失败 */ @PowerJobHandler(name = "testEmptyReturn") - public void test(TaskContext context) { + public void testEmptyReturn(TaskContext context) { OmsLogger omsLogger = context.getOmsLogger(); omsLogger.warn("测试日志"); } @PowerJobHandler(name = "testNormalReturn") - public String test1(TaskContext context) { + public String testNormalReturn(TaskContext context) { OmsLogger omsLogger = context.getOmsLogger(); omsLogger.warn("测试日志"); return "testNormalReturn"; diff --git a/powerjob-worker-spring-boot-starter/pom.xml b/powerjob-worker-spring-boot-starter/pom.xml index 14083922..50c6314c 100644 --- a/powerjob-worker-spring-boot-starter/pom.xml +++ b/powerjob-worker-spring-boot-starter/pom.xml @@ -5,16 +5,16 @@ powerjob tech.powerjob - 4.3.2 + 4.3.3 4.0.0 powerjob-worker-spring-boot-starter - 4.3.2 + 4.3.3 jar - 4.3.2 + 4.3.3 2.7.4 diff --git a/powerjob-worker/pom.xml b/powerjob-worker/pom.xml index 4ba4736f..312ac0b7 100644 --- a/powerjob-worker/pom.xml +++ b/powerjob-worker/pom.xml @@ -5,12 +5,12 @@ powerjob tech.powerjob - 4.3.2 + 4.3.3 4.0.0 powerjob-worker - 4.3.2 + 4.3.3 jar @@ -21,10 +21,10 @@ 1.2.9 - 4.3.2 - 4.3.2 - 4.3.2 - 4.3.2 + 4.3.3 + 4.3.3 + 4.3.3 + 4.3.3 From 5da0c694c31c04a0973cf9e677d558207bcbf33d Mon Sep 17 00:00:00 2001 From: tjq Date: Sun, 11 Jun 2023 17:18:51 +0800 Subject: [PATCH 10/10] chore: change main version to 4.3.3 --- powerjob-worker-agent/pom.xml | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/powerjob-worker-agent/pom.xml b/powerjob-worker-agent/pom.xml index c24f3fc5..d125c0bb 100644 --- a/powerjob-worker-agent/pom.xml +++ b/powerjob-worker-agent/pom.xml @@ -17,7 +17,7 @@ 4.3.3 1.2.9 - 4.3.3 + 4.3.2 5.3.23 2.3.4.RELEASE