From 2982410d80cb76537fa941a3bdc43eda597d538b Mon Sep 17 00:00:00 2001 From: tjq Date: Tue, 17 Jan 2023 22:05:48 +0800 Subject: [PATCH] feat: define ProcessorFactory --- .../powerjob/worker/extension/processor/ProcessorBean.java | 7 ++++++- .../worker/extension/processor/ProcessorFactory.java | 2 +- 2 files changed, 7 insertions(+), 2 deletions(-) diff --git a/powerjob-worker/src/main/java/tech/powerjob/worker/extension/processor/ProcessorBean.java b/powerjob-worker/src/main/java/tech/powerjob/worker/extension/processor/ProcessorBean.java index 9a0024f3..172921c5 100644 --- a/powerjob-worker/src/main/java/tech/powerjob/worker/extension/processor/ProcessorBean.java +++ b/powerjob-worker/src/main/java/tech/powerjob/worker/extension/processor/ProcessorBean.java @@ -6,7 +6,7 @@ import lombok.experimental.Accessors; import tech.powerjob.worker.core.processor.sdk.BasicProcessor; /** - * 处理器对象,理论上只需要返回 BasicProcessor,但为了扩展性还是选择封装为对象 + * 处理器对象 * * @author tjq * @since 2023/1/17 @@ -20,4 +20,9 @@ public class ProcessorBean { * 真正用来执行逻辑的处理器对象 */ private transient BasicProcessor processor; + /** + * 加载该处理器对象的 classLoader,可空,空则使用 {@link Object#getClass()#getClassLoader() 代替} + */ + private transient ClassLoader classLoader; + } diff --git a/powerjob-worker/src/main/java/tech/powerjob/worker/extension/processor/ProcessorFactory.java b/powerjob-worker/src/main/java/tech/powerjob/worker/extension/processor/ProcessorFactory.java index 00669877..9cb35a6b 100644 --- a/powerjob-worker/src/main/java/tech/powerjob/worker/extension/processor/ProcessorFactory.java +++ b/powerjob-worker/src/main/java/tech/powerjob/worker/extension/processor/ProcessorFactory.java @@ -13,7 +13,7 @@ public interface ProcessorFactory { * 根据处理器定义构建处理器对象 * 注意:Processor 为单例对象,即 PowerJob 对每一个 ProcessorBean 只调用一次 build 方法 * @param processorDefinition 处理器定义 - * @return ProcessorBean + * @return null or ProcessorBean */ ProcessorBean build(ProcessorDefinition processorDefinition); }