From 186710a9d520e4e0a024745e5eff259a9ede183a Mon Sep 17 00:00:00 2001 From: zhangzhuo Date: Sun, 24 Jan 2021 11:42:16 +0800 Subject: [PATCH] =?UTF-8?q?=E4=BF=AE=E6=94=B9=E7=B1=BB=E7=89=88=E6=9C=AC?= =?UTF-8?q?=E5=8F=B7?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../extension/mybatis/MapperHandler.java | 2 +- .../extension/mybatis/MybatisProcessor.java | 2 +- .../mybatis/PluginResourceFinder.java | 3 +- .../mybatis/SpringBootMybatisExtension.java | 2 +- .../mybatisplus/MybatisPlusProcessor.java | 2 +- .../mybatis/tkmyabtis/TkMybatisProcessor.java | 2 +- .../PluginResourceResolverProcess.java | 2 +- .../resolver/PluginResourceResolver.java | 2 +- .../thymeleaf/ThymeleafProcessor.java | 2 +- .../gitee/starblues/annotation/Caller.java | 2 +- .../annotation/ConfigDefinition.java | 2 +- .../extension/AbstractExtension.java | 2 +- .../starblues/extension/ExtensionFactory.java | 2 +- .../extension/ExtensionInitializer.java | 2 +- .../extension/PluginControllerProcessor.java | 4 +-- .../starblues/factory/PluginRegistryInfo.java | 2 +- .../starblues/factory/SpringBeanRegister.java | 2 +- .../pipe/PluginConfigBeanPipeProcessor.java | 2 +- ...PluginPipeApplicationContextProcessor.java | 2 +- .../pipe/PluginPipeProcessorFactory.java | 2 +- .../pipe/classs/PluginClassProcess.java | 5 +-- .../pipe/classs/group/ComponentGroup.java | 2 +- .../process/pipe/loader/PluginResource.java | 3 +- .../loader/PluginResourceLoadFactory.java | 2 +- .../pipe/loader/PluginResourceLoader.java | 2 +- .../process/pipe/loader/ResourceWrapper.java | 2 +- .../pipe/loader/load/PluginClassLoader.java | 2 +- .../loader/load/PluginConfigFileLoader.java | 3 +- .../post/PluginPostProcessorFactory.java | 2 +- .../bean/PluginControllerPostProcessor.java | 2 +- .../PluginOneselfStartEventProcessor.java | 2 +- .../DefaultIntegrationConfiguration.java | 2 +- .../listener/SwaggerListeningListener.java | 21 ++++++++---- .../pf4j/ConfigPluginStatusProvider.java | 2 +- .../integration/pf4j/DefaultPf4jFactory.java | 3 +- .../integration/pf4j/JarPluginLoader.java | 3 +- ...solvePropertiesPluginDescriptorFinder.java | 2 +- .../pf4j/SortDependencyResolver.java | 3 +- .../integration/user/DefaultPluginUser.java | 2 +- .../gitee/starblues/realize/BasePlugin.java | 2 +- .../starblues/realize/BasePluginExtend.java | 2 +- .../gitee/starblues/realize/ConfigBean.java | 2 +- .../starblues/realize/OneselfListener.java | 2 +- .../gitee/starblues/realize/PluginUtils.java | 4 +-- .../com/gitee/starblues/utils/AopUtils.java | 4 +-- .../starblues/utils/PluginBeanUtils.java | 32 ++++++++++++++++++- 46 files changed, 93 insertions(+), 63 deletions(-) diff --git a/springboot-plugin-framework-extension/springboot-plugin-framework-extension-mybatis/src/main/java/com/gitee/starblues/extension/mybatis/MapperHandler.java b/springboot-plugin-framework-extension/springboot-plugin-framework-extension-mybatis/src/main/java/com/gitee/starblues/extension/mybatis/MapperHandler.java index 0f8e55f..0997584 100644 --- a/springboot-plugin-framework-extension/springboot-plugin-framework-extension-mybatis/src/main/java/com/gitee/starblues/extension/mybatis/MapperHandler.java +++ b/springboot-plugin-framework-extension/springboot-plugin-framework-extension-mybatis/src/main/java/com/gitee/starblues/extension/mybatis/MapperHandler.java @@ -28,7 +28,7 @@ import java.util.Set; /** * Mapper 接口处理者 * @author starBlues - * @version 2.3 + * @version 2.4.0 */ public class MapperHandler { diff --git a/springboot-plugin-framework-extension/springboot-plugin-framework-extension-mybatis/src/main/java/com/gitee/starblues/extension/mybatis/MybatisProcessor.java b/springboot-plugin-framework-extension/springboot-plugin-framework-extension-mybatis/src/main/java/com/gitee/starblues/extension/mybatis/MybatisProcessor.java index cd522b0..4b18814 100644 --- a/springboot-plugin-framework-extension/springboot-plugin-framework-extension-mybatis/src/main/java/com/gitee/starblues/extension/mybatis/MybatisProcessor.java +++ b/springboot-plugin-framework-extension/springboot-plugin-framework-extension-mybatis/src/main/java/com/gitee/starblues/extension/mybatis/MybatisProcessor.java @@ -19,7 +19,7 @@ import org.springframework.core.io.Resource; /** * mybatis 处理者 * @author starBlues - * @version 2.3 + * @version 2.4.0 */ public class MybatisProcessor implements PluginBeanRegistrarExtend { diff --git a/springboot-plugin-framework-extension/springboot-plugin-framework-extension-mybatis/src/main/java/com/gitee/starblues/extension/mybatis/PluginResourceFinder.java b/springboot-plugin-framework-extension/springboot-plugin-framework-extension-mybatis/src/main/java/com/gitee/starblues/extension/mybatis/PluginResourceFinder.java index 7dc23d2..8756ad0 100644 --- a/springboot-plugin-framework-extension/springboot-plugin-framework-extension-mybatis/src/main/java/com/gitee/starblues/extension/mybatis/PluginResourceFinder.java +++ b/springboot-plugin-framework-extension/springboot-plugin-framework-extension-mybatis/src/main/java/com/gitee/starblues/extension/mybatis/PluginResourceFinder.java @@ -2,7 +2,6 @@ package com.gitee.starblues.extension.mybatis; import com.gitee.starblues.factory.PluginRegistryInfo; -import org.pf4j.ClassLoadingStrategy; import org.slf4j.Logger; import org.slf4j.LoggerFactory; import org.springframework.core.io.Resource; @@ -20,7 +19,7 @@ import java.util.*; /** * 插件资源发现者 * @author starBlues - * @version 2.3 + * @version 2.4.0 */ public class PluginResourceFinder { diff --git a/springboot-plugin-framework-extension/springboot-plugin-framework-extension-mybatis/src/main/java/com/gitee/starblues/extension/mybatis/SpringBootMybatisExtension.java b/springboot-plugin-framework-extension/springboot-plugin-framework-extension-mybatis/src/main/java/com/gitee/starblues/extension/mybatis/SpringBootMybatisExtension.java index acaba4b..fa73ffe 100644 --- a/springboot-plugin-framework-extension/springboot-plugin-framework-extension-mybatis/src/main/java/com/gitee/starblues/extension/mybatis/SpringBootMybatisExtension.java +++ b/springboot-plugin-framework-extension/springboot-plugin-framework-extension-mybatis/src/main/java/com/gitee/starblues/extension/mybatis/SpringBootMybatisExtension.java @@ -17,7 +17,7 @@ import java.util.List; /** * mybatis 扩展 * @author starBlues - * @version 2.3 + * @version 2.4.0 */ public class SpringBootMybatisExtension extends AbstractExtension { diff --git a/springboot-plugin-framework-extension/springboot-plugin-framework-extension-mybatis/src/main/java/com/gitee/starblues/extension/mybatis/mybatisplus/MybatisPlusProcessor.java b/springboot-plugin-framework-extension/springboot-plugin-framework-extension-mybatis/src/main/java/com/gitee/starblues/extension/mybatis/mybatisplus/MybatisPlusProcessor.java index 012f7c2..9a7d787 100644 --- a/springboot-plugin-framework-extension/springboot-plugin-framework-extension-mybatis/src/main/java/com/gitee/starblues/extension/mybatis/mybatisplus/MybatisPlusProcessor.java +++ b/springboot-plugin-framework-extension/springboot-plugin-framework-extension-mybatis/src/main/java/com/gitee/starblues/extension/mybatis/mybatisplus/MybatisPlusProcessor.java @@ -27,7 +27,7 @@ import org.springframework.core.io.Resource; /** * springboot-mybatis plus 处理者 * @author starBlues - * @version 2.3 + * @version 2.4.0 */ public class MybatisPlusProcessor implements PluginBeanRegistrarExtend { diff --git a/springboot-plugin-framework-extension/springboot-plugin-framework-extension-mybatis/src/main/java/com/gitee/starblues/extension/mybatis/tkmyabtis/TkMybatisProcessor.java b/springboot-plugin-framework-extension/springboot-plugin-framework-extension-mybatis/src/main/java/com/gitee/starblues/extension/mybatis/tkmyabtis/TkMybatisProcessor.java index debfb08..c89e44b 100644 --- a/springboot-plugin-framework-extension/springboot-plugin-framework-extension-mybatis/src/main/java/com/gitee/starblues/extension/mybatis/tkmyabtis/TkMybatisProcessor.java +++ b/springboot-plugin-framework-extension/springboot-plugin-framework-extension-mybatis/src/main/java/com/gitee/starblues/extension/mybatis/tkmyabtis/TkMybatisProcessor.java @@ -27,7 +27,7 @@ import tk.mybatis.spring.mapper.MapperFactoryBean; /** * tk-mybatis处理者 * @author starBlues - * @version 2.3 + * @version 2.4.0 */ public class TkMybatisProcessor implements PluginBeanRegistrarExtend { diff --git a/springboot-plugin-framework-extension/springboot-plugin-framework-extension-resources/src/main/java/com/gitee/starblues/extension/resources/PluginResourceResolverProcess.java b/springboot-plugin-framework-extension/springboot-plugin-framework-extension-resources/src/main/java/com/gitee/starblues/extension/resources/PluginResourceResolverProcess.java index 5700e03..60acb2d 100644 --- a/springboot-plugin-framework-extension/springboot-plugin-framework-extension-resources/src/main/java/com/gitee/starblues/extension/resources/PluginResourceResolverProcess.java +++ b/springboot-plugin-framework-extension/springboot-plugin-framework-extension-resources/src/main/java/com/gitee/starblues/extension/resources/PluginResourceResolverProcess.java @@ -14,7 +14,7 @@ import java.util.List; * 插件资源处理器 * * @author starBlues - * @version 2.2.1 + * @version 2.4.0 */ public class PluginResourceResolverProcess implements PluginPostProcessorExtend { diff --git a/springboot-plugin-framework-extension/springboot-plugin-framework-extension-resources/src/main/java/com/gitee/starblues/extension/resources/resolver/PluginResourceResolver.java b/springboot-plugin-framework-extension/springboot-plugin-framework-extension-resources/src/main/java/com/gitee/starblues/extension/resources/resolver/PluginResourceResolver.java index 731df42..deee547 100644 --- a/springboot-plugin-framework-extension/springboot-plugin-framework-extension-resources/src/main/java/com/gitee/starblues/extension/resources/resolver/PluginResourceResolver.java +++ b/springboot-plugin-framework-extension/springboot-plugin-framework-extension-resources/src/main/java/com/gitee/starblues/extension/resources/resolver/PluginResourceResolver.java @@ -26,7 +26,7 @@ import java.util.stream.Collectors; * 插件资源发现者 * * @author starBlues - * @version 2.2.1 + * @version 2.4.0 */ public class PluginResourceResolver extends AbstractResourceResolver { diff --git a/springboot-plugin-framework-extension/springboot-plugin-framework-extension-resources/src/main/java/com/gitee/starblues/extension/resources/thymeleaf/ThymeleafProcessor.java b/springboot-plugin-framework-extension/springboot-plugin-framework-extension-resources/src/main/java/com/gitee/starblues/extension/resources/thymeleaf/ThymeleafProcessor.java index e857deb..ac0125c 100644 --- a/springboot-plugin-framework-extension/springboot-plugin-framework-extension-resources/src/main/java/com/gitee/starblues/extension/resources/thymeleaf/ThymeleafProcessor.java +++ b/springboot-plugin-framework-extension/springboot-plugin-framework-extension-resources/src/main/java/com/gitee/starblues/extension/resources/thymeleaf/ThymeleafProcessor.java @@ -19,7 +19,7 @@ import java.util.Set; /** * Thymeleaf 处理者 * @author starBlues - * @version 2.3 + * @version 2.4.0 */ public class ThymeleafProcessor implements PluginPipeProcessorExtend { diff --git a/springboot-plugin-framework/src/main/java/com/gitee/starblues/annotation/Caller.java b/springboot-plugin-framework/src/main/java/com/gitee/starblues/annotation/Caller.java index aeca1a2..6fed31b 100644 --- a/springboot-plugin-framework/src/main/java/com/gitee/starblues/annotation/Caller.java +++ b/springboot-plugin-framework/src/main/java/com/gitee/starblues/annotation/Caller.java @@ -4,7 +4,7 @@ package com.gitee.starblues.annotation; * 调用者的注解。配合 @Supplier 注解使用, 两者结合实现插件中的方法调用。 * * @author starBlues - * @version 1.0 + * @version 2.4.0 */ import java.lang.annotation.*; diff --git a/springboot-plugin-framework/src/main/java/com/gitee/starblues/annotation/ConfigDefinition.java b/springboot-plugin-framework/src/main/java/com/gitee/starblues/annotation/ConfigDefinition.java index 4df2a07..2b47718 100644 --- a/springboot-plugin-framework/src/main/java/com/gitee/starblues/annotation/ConfigDefinition.java +++ b/springboot-plugin-framework/src/main/java/com/gitee/starblues/annotation/ConfigDefinition.java @@ -7,7 +7,7 @@ import java.lang.annotation.*; * 如果存在配置文件, 则进行属性自定义 * 如果未依赖配置文件, 则直接定义注解即可 * @author starBlues - * @version 1.0 + * @version 2.4.0 */ @Target(ElementType.TYPE) @Retention(RetentionPolicy.RUNTIME) diff --git a/springboot-plugin-framework/src/main/java/com/gitee/starblues/extension/AbstractExtension.java b/springboot-plugin-framework/src/main/java/com/gitee/starblues/extension/AbstractExtension.java index 43fc883..c4cc71a 100644 --- a/springboot-plugin-framework/src/main/java/com/gitee/starblues/extension/AbstractExtension.java +++ b/springboot-plugin-framework/src/main/java/com/gitee/starblues/extension/AbstractExtension.java @@ -15,7 +15,7 @@ import java.util.List; * 抽象的扩展工厂 * * @author starBlues - * @version 2.1.0 + * @version 2.4.0 */ public abstract class AbstractExtension { diff --git a/springboot-plugin-framework/src/main/java/com/gitee/starblues/extension/ExtensionFactory.java b/springboot-plugin-framework/src/main/java/com/gitee/starblues/extension/ExtensionFactory.java index 0459758..5c2f44c 100644 --- a/springboot-plugin-framework/src/main/java/com/gitee/starblues/extension/ExtensionFactory.java +++ b/springboot-plugin-framework/src/main/java/com/gitee/starblues/extension/ExtensionFactory.java @@ -13,7 +13,7 @@ import java.util.function.Consumer; * 静态的扩展工厂 * * @author starBlues - * @version 2.1.0 + * @version 2.4.0 */ public class ExtensionFactory { diff --git a/springboot-plugin-framework/src/main/java/com/gitee/starblues/extension/ExtensionInitializer.java b/springboot-plugin-framework/src/main/java/com/gitee/starblues/extension/ExtensionInitializer.java index 4463bdf..9c5cc96 100644 --- a/springboot-plugin-framework/src/main/java/com/gitee/starblues/extension/ExtensionInitializer.java +++ b/springboot-plugin-framework/src/main/java/com/gitee/starblues/extension/ExtensionInitializer.java @@ -23,7 +23,7 @@ import java.util.function.Function; * 静态的扩展初始化器 * * @author starBlues - * @version 2.2.1 + * @version 2.4.0 */ public class ExtensionInitializer { diff --git a/springboot-plugin-framework/src/main/java/com/gitee/starblues/extension/PluginControllerProcessor.java b/springboot-plugin-framework/src/main/java/com/gitee/starblues/extension/PluginControllerProcessor.java index 2f92777..4ee6d2d 100644 --- a/springboot-plugin-framework/src/main/java/com/gitee/starblues/extension/PluginControllerProcessor.java +++ b/springboot-plugin-framework/src/main/java/com/gitee/starblues/extension/PluginControllerProcessor.java @@ -2,10 +2,10 @@ package com.gitee.starblues.extension; /** - * controller 处理者 + * controller 处理者(已经废弃) * * @author starBlues - * @version 1.0 + * @version 2.4.0 */ @Deprecated public interface PluginControllerProcessor { diff --git a/springboot-plugin-framework/src/main/java/com/gitee/starblues/factory/PluginRegistryInfo.java b/springboot-plugin-framework/src/main/java/com/gitee/starblues/factory/PluginRegistryInfo.java index bab2049..4c7a623 100644 --- a/springboot-plugin-framework/src/main/java/com/gitee/starblues/factory/PluginRegistryInfo.java +++ b/springboot-plugin-framework/src/main/java/com/gitee/starblues/factory/PluginRegistryInfo.java @@ -320,7 +320,7 @@ public class PluginRegistryInfo { } pluginClassLoader = new PluginClassLoader(pluginManager, pluginWrapper.getDescriptor(), - ClassLoader.getSystemClassLoader(), classLoadingStrategy); + this.getClass().getClassLoader(), classLoadingStrategy); pluginClassLoader.addFile(pluginWrapper.getPluginPath().toFile()); pluginClassLoaders.put(strategy, pluginClassLoader); return pluginClassLoader; diff --git a/springboot-plugin-framework/src/main/java/com/gitee/starblues/factory/SpringBeanRegister.java b/springboot-plugin-framework/src/main/java/com/gitee/starblues/factory/SpringBeanRegister.java index bf94f7d..7c8f6a5 100644 --- a/springboot-plugin-framework/src/main/java/com/gitee/starblues/factory/SpringBeanRegister.java +++ b/springboot-plugin-framework/src/main/java/com/gitee/starblues/factory/SpringBeanRegister.java @@ -15,7 +15,7 @@ import java.util.function.Consumer; * Spring bean注册者, 向Spring注册Bean时, 必须使用该对象进行注册 * * @author starBlues - * @version 2.1.0 + * @version 2.4.0 */ public class SpringBeanRegister { diff --git a/springboot-plugin-framework/src/main/java/com/gitee/starblues/factory/process/pipe/PluginConfigBeanPipeProcessor.java b/springboot-plugin-framework/src/main/java/com/gitee/starblues/factory/process/pipe/PluginConfigBeanPipeProcessor.java index 52d4b94..26aa9bf 100644 --- a/springboot-plugin-framework/src/main/java/com/gitee/starblues/factory/process/pipe/PluginConfigBeanPipeProcessor.java +++ b/springboot-plugin-framework/src/main/java/com/gitee/starblues/factory/process/pipe/PluginConfigBeanPipeProcessor.java @@ -11,7 +11,7 @@ import java.util.List; /** * @author starBlues - * @version 1.0 + * @version 2.4.0 */ public class PluginConfigBeanPipeProcessor implements PluginPipeProcessor{ diff --git a/springboot-plugin-framework/src/main/java/com/gitee/starblues/factory/process/pipe/PluginPipeApplicationContextProcessor.java b/springboot-plugin-framework/src/main/java/com/gitee/starblues/factory/process/pipe/PluginPipeApplicationContextProcessor.java index a9b9a6f..0b0757e 100644 --- a/springboot-plugin-framework/src/main/java/com/gitee/starblues/factory/process/pipe/PluginPipeApplicationContextProcessor.java +++ b/springboot-plugin-framework/src/main/java/com/gitee/starblues/factory/process/pipe/PluginPipeApplicationContextProcessor.java @@ -16,7 +16,7 @@ import java.util.*; * 插件的ApplicationContext 处理 * 主要进行插件bean的扫描 * @author starBlues - * @version 1.0 + * @version 2.4.0 */ public class PluginPipeApplicationContextProcessor implements PluginPipeProcessor{ diff --git a/springboot-plugin-framework/src/main/java/com/gitee/starblues/factory/process/pipe/PluginPipeProcessorFactory.java b/springboot-plugin-framework/src/main/java/com/gitee/starblues/factory/process/pipe/PluginPipeProcessorFactory.java index 1c859a9..e75b260 100644 --- a/springboot-plugin-framework/src/main/java/com/gitee/starblues/factory/process/pipe/PluginPipeProcessorFactory.java +++ b/springboot-plugin-framework/src/main/java/com/gitee/starblues/factory/process/pipe/PluginPipeProcessorFactory.java @@ -15,7 +15,7 @@ import java.util.List; * 插件的pipe处理者工厂 * * @author starBlues - * @version 2.2.2 + * @version 2.4.0 */ public class PluginPipeProcessorFactory implements PluginPipeProcessor { diff --git a/springboot-plugin-framework/src/main/java/com/gitee/starblues/factory/process/pipe/classs/PluginClassProcess.java b/springboot-plugin-framework/src/main/java/com/gitee/starblues/factory/process/pipe/classs/PluginClassProcess.java index d85adcc..b3018fe 100644 --- a/springboot-plugin-framework/src/main/java/com/gitee/starblues/factory/process/pipe/classs/PluginClassProcess.java +++ b/springboot-plugin-framework/src/main/java/com/gitee/starblues/factory/process/pipe/classs/PluginClassProcess.java @@ -4,14 +4,11 @@ import com.gitee.starblues.extension.ExtensionInitializer; import com.gitee.starblues.factory.PluginRegistryInfo; import com.gitee.starblues.factory.process.pipe.PluginPipeProcessor; import com.gitee.starblues.factory.process.pipe.classs.group.*; -import com.gitee.starblues.factory.process.pipe.loader.PluginResourceLoadFactory; import com.gitee.starblues.factory.process.pipe.loader.ResourceWrapper; import com.gitee.starblues.factory.process.pipe.loader.load.PluginClassLoader; import com.gitee.starblues.realize.BasePlugin; -import org.pf4j.ClassLoadingStrategy; import org.slf4j.Logger; import org.slf4j.LoggerFactory; -import org.springframework.context.annotation.AnnotationConfigApplicationContext; import org.springframework.core.io.Resource; import org.springframework.util.StringUtils; @@ -23,7 +20,7 @@ import java.util.Set; * 插件类加载处理者 * * @author starBlues - * @version 2.2.2 + * @version 2.4.0 */ public class PluginClassProcess implements PluginPipeProcessor { diff --git a/springboot-plugin-framework/src/main/java/com/gitee/starblues/factory/process/pipe/classs/group/ComponentGroup.java b/springboot-plugin-framework/src/main/java/com/gitee/starblues/factory/process/pipe/classs/group/ComponentGroup.java index e6819ed..fd76f16 100644 --- a/springboot-plugin-framework/src/main/java/com/gitee/starblues/factory/process/pipe/classs/group/ComponentGroup.java +++ b/springboot-plugin-framework/src/main/java/com/gitee/starblues/factory/process/pipe/classs/group/ComponentGroup.java @@ -16,7 +16,7 @@ import java.util.List; * 分组存在注解: Component、Service * * @author starBlues - * @version 2.1.0 + * @version 2.4.0 */ public class ComponentGroup implements PluginClassGroup { diff --git a/springboot-plugin-framework/src/main/java/com/gitee/starblues/factory/process/pipe/loader/PluginResource.java b/springboot-plugin-framework/src/main/java/com/gitee/starblues/factory/process/pipe/loader/PluginResource.java index 846daa3..8df9694 100644 --- a/springboot-plugin-framework/src/main/java/com/gitee/starblues/factory/process/pipe/loader/PluginResource.java +++ b/springboot-plugin-framework/src/main/java/com/gitee/starblues/factory/process/pipe/loader/PluginResource.java @@ -1,7 +1,6 @@ package com.gitee.starblues.factory.process.pipe.loader; import com.gitee.starblues.factory.PluginRegistryInfo; -import org.pf4j.ClassLoadingStrategy; import org.pf4j.PluginWrapper; import org.slf4j.Logger; import org.slf4j.LoggerFactory; @@ -22,7 +21,7 @@ import java.net.URLConnection; * 插件资源实现类.主要是对Spring中的抽象的Resource实现. * 功能: 主要是获取插件包中的文件资源。 * @author starBlues - * @version 2.2.1 + * @version 2.4.0 */ public class PluginResource implements Resource { diff --git a/springboot-plugin-framework/src/main/java/com/gitee/starblues/factory/process/pipe/loader/PluginResourceLoadFactory.java b/springboot-plugin-framework/src/main/java/com/gitee/starblues/factory/process/pipe/loader/PluginResourceLoadFactory.java index 63fa2e7..2646be0 100644 --- a/springboot-plugin-framework/src/main/java/com/gitee/starblues/factory/process/pipe/loader/PluginResourceLoadFactory.java +++ b/springboot-plugin-framework/src/main/java/com/gitee/starblues/factory/process/pipe/loader/PluginResourceLoadFactory.java @@ -20,7 +20,7 @@ import java.util.concurrent.ConcurrentHashMap; * 插件资源加载者 * * @author starBlues - * @version 2.2.0 + * @version 2.4.0 */ public class PluginResourceLoadFactory implements PluginPipeProcessor { diff --git a/springboot-plugin-framework/src/main/java/com/gitee/starblues/factory/process/pipe/loader/PluginResourceLoader.java b/springboot-plugin-framework/src/main/java/com/gitee/starblues/factory/process/pipe/loader/PluginResourceLoader.java index 82a0645..ed45d45 100644 --- a/springboot-plugin-framework/src/main/java/com/gitee/starblues/factory/process/pipe/loader/PluginResourceLoader.java +++ b/springboot-plugin-framework/src/main/java/com/gitee/starblues/factory/process/pipe/loader/PluginResourceLoader.java @@ -8,7 +8,7 @@ import com.gitee.starblues.utils.OrderPriority; * 插件资源加载者统一定义的接口 * * @author starBlues - * @version 2.2.0 + * @version 2.4.0 */ public interface PluginResourceLoader { diff --git a/springboot-plugin-framework/src/main/java/com/gitee/starblues/factory/process/pipe/loader/ResourceWrapper.java b/springboot-plugin-framework/src/main/java/com/gitee/starblues/factory/process/pipe/loader/ResourceWrapper.java index 7ee0ec3..d2d7b89 100644 --- a/springboot-plugin-framework/src/main/java/com/gitee/starblues/factory/process/pipe/loader/ResourceWrapper.java +++ b/springboot-plugin-framework/src/main/java/com/gitee/starblues/factory/process/pipe/loader/ResourceWrapper.java @@ -9,7 +9,7 @@ import java.util.*; * 资源包装类 * * @author starBlues - * @version 2.2.0 + * @version 2.4.0 */ public class ResourceWrapper { diff --git a/springboot-plugin-framework/src/main/java/com/gitee/starblues/factory/process/pipe/loader/load/PluginClassLoader.java b/springboot-plugin-framework/src/main/java/com/gitee/starblues/factory/process/pipe/loader/load/PluginClassLoader.java index b5de458..7e26a58 100644 --- a/springboot-plugin-framework/src/main/java/com/gitee/starblues/factory/process/pipe/loader/load/PluginClassLoader.java +++ b/springboot-plugin-framework/src/main/java/com/gitee/starblues/factory/process/pipe/loader/load/PluginClassLoader.java @@ -14,7 +14,7 @@ import java.util.Set; * 插件类文件加载者 * * @author starBlues - * @version 2.2.2 + * @version 2.4.0 */ public class PluginClassLoader implements PluginResourceLoader { diff --git a/springboot-plugin-framework/src/main/java/com/gitee/starblues/factory/process/pipe/loader/load/PluginConfigFileLoader.java b/springboot-plugin-framework/src/main/java/com/gitee/starblues/factory/process/pipe/loader/load/PluginConfigFileLoader.java index b47373e..85497ac 100644 --- a/springboot-plugin-framework/src/main/java/com/gitee/starblues/factory/process/pipe/loader/load/PluginConfigFileLoader.java +++ b/springboot-plugin-framework/src/main/java/com/gitee/starblues/factory/process/pipe/loader/load/PluginConfigFileLoader.java @@ -5,7 +5,6 @@ import com.gitee.starblues.factory.process.pipe.loader.PluginResourceLoader; import com.gitee.starblues.factory.process.pipe.loader.ResourceWrapper; import com.gitee.starblues.realize.BasePlugin; import com.gitee.starblues.utils.OrderPriority; -import org.pf4j.ClassLoadingStrategy; import org.slf4j.Logger; import org.slf4j.LoggerFactory; import org.springframework.core.io.ClassPathResource; @@ -23,7 +22,7 @@ import java.util.function.Supplier; * 插件配置文件加载者 * * @author starBlues - * @version 2.2.2 + * @version 2.4.0 */ public class PluginConfigFileLoader implements PluginResourceLoader { diff --git a/springboot-plugin-framework/src/main/java/com/gitee/starblues/factory/process/post/PluginPostProcessorFactory.java b/springboot-plugin-framework/src/main/java/com/gitee/starblues/factory/process/post/PluginPostProcessorFactory.java index 20adf90..f3b9781 100644 --- a/springboot-plugin-framework/src/main/java/com/gitee/starblues/factory/process/post/PluginPostProcessorFactory.java +++ b/springboot-plugin-framework/src/main/java/com/gitee/starblues/factory/process/post/PluginPostProcessorFactory.java @@ -14,7 +14,7 @@ import java.util.List; * 插件后置处理工厂 * * @author starBlues - * @version 2.3 + * @version 2.4.0 */ public class PluginPostProcessorFactory implements PluginPostProcessor { diff --git a/springboot-plugin-framework/src/main/java/com/gitee/starblues/factory/process/post/bean/PluginControllerPostProcessor.java b/springboot-plugin-framework/src/main/java/com/gitee/starblues/factory/process/post/bean/PluginControllerPostProcessor.java index 1d9a3f1..9d6a776 100644 --- a/springboot-plugin-framework/src/main/java/com/gitee/starblues/factory/process/post/bean/PluginControllerPostProcessor.java +++ b/springboot-plugin-framework/src/main/java/com/gitee/starblues/factory/process/post/bean/PluginControllerPostProcessor.java @@ -24,7 +24,7 @@ import java.util.*; * 插件中controller处理者 * * @author starBlues - * @version 2.1.0 + * @version 2.4.0 */ public class PluginControllerPostProcessor implements PluginPostProcessor { diff --git a/springboot-plugin-framework/src/main/java/com/gitee/starblues/factory/process/post/bean/PluginOneselfStartEventProcessor.java b/springboot-plugin-framework/src/main/java/com/gitee/starblues/factory/process/post/bean/PluginOneselfStartEventProcessor.java index 0e89d6e..26eff74 100644 --- a/springboot-plugin-framework/src/main/java/com/gitee/starblues/factory/process/post/bean/PluginOneselfStartEventProcessor.java +++ b/springboot-plugin-framework/src/main/java/com/gitee/starblues/factory/process/post/bean/PluginOneselfStartEventProcessor.java @@ -16,7 +16,7 @@ import java.util.List; /** * 插件中 OneselfListener 监听者处理者。主要执行监听器的启动事件。 * @author starBlues - * @version 2.1.0 + * @version 2.4.0 */ public class PluginOneselfStartEventProcessor implements PluginPostProcessor { diff --git a/springboot-plugin-framework/src/main/java/com/gitee/starblues/integration/DefaultIntegrationConfiguration.java b/springboot-plugin-framework/src/main/java/com/gitee/starblues/integration/DefaultIntegrationConfiguration.java index 6a56d53..12a84e2 100644 --- a/springboot-plugin-framework/src/main/java/com/gitee/starblues/integration/DefaultIntegrationConfiguration.java +++ b/springboot-plugin-framework/src/main/java/com/gitee/starblues/integration/DefaultIntegrationConfiguration.java @@ -7,7 +7,7 @@ import java.util.Set; * 默认的插件集成配置。给非必须配置设置了默认值 * * @author starBlues - * @version 1.0 + * @version 2.4.0 */ public abstract class DefaultIntegrationConfiguration implements IntegrationConfiguration{ diff --git a/springboot-plugin-framework/src/main/java/com/gitee/starblues/integration/listener/SwaggerListeningListener.java b/springboot-plugin-framework/src/main/java/com/gitee/starblues/integration/listener/SwaggerListeningListener.java index d982f22..f7cc60a 100644 --- a/springboot-plugin-framework/src/main/java/com/gitee/starblues/integration/listener/SwaggerListeningListener.java +++ b/springboot-plugin-framework/src/main/java/com/gitee/starblues/integration/listener/SwaggerListeningListener.java @@ -1,10 +1,13 @@ package com.gitee.starblues.integration.listener; +import com.gitee.starblues.utils.PluginBeanUtils; import org.slf4j.Logger; import org.slf4j.LoggerFactory; import org.springframework.context.ApplicationContext; import springfox.documentation.spring.web.plugins.DocumentationPluginsBootstrapper; +import java.util.List; + /** * Swagger 监听事件 * @author starBlues @@ -13,10 +16,10 @@ import springfox.documentation.spring.web.plugins.DocumentationPluginsBootstrapp public class SwaggerListeningListener implements PluginListener{ private final Logger log = LoggerFactory.getLogger(this.getClass()); - private final ApplicationContext applicationContext; + private final ApplicationContext mainApplicationContext; - public SwaggerListeningListener(ApplicationContext applicationContext) { - this.applicationContext = applicationContext; + public SwaggerListeningListener(ApplicationContext mainApplicationContext) { + this.mainApplicationContext = mainApplicationContext; } @Override @@ -34,10 +37,14 @@ public class SwaggerListeningListener implements PluginListener{ private void refresh(){ try { - DocumentationPluginsBootstrapper documentationPluginsBootstrapper = - applicationContext.getBean(DocumentationPluginsBootstrapper.class); - documentationPluginsBootstrapper.stop(); - documentationPluginsBootstrapper.start(); + DocumentationPluginsBootstrapper documentationPluginsBootstrapper = PluginBeanUtils.getExistBean(mainApplicationContext, + DocumentationPluginsBootstrapper.class); + if(documentationPluginsBootstrapper != null){ + documentationPluginsBootstrapper.stop(); + documentationPluginsBootstrapper.start(); + } else { + log.warn("Not found DocumentationPluginsBootstrapper, so cannot refresh swagger"); + } } catch (Exception e){ // ignore log.warn("refresh swagger failure"); diff --git a/springboot-plugin-framework/src/main/java/com/gitee/starblues/integration/pf4j/ConfigPluginStatusProvider.java b/springboot-plugin-framework/src/main/java/com/gitee/starblues/integration/pf4j/ConfigPluginStatusProvider.java index ff16b48..d669f05 100644 --- a/springboot-plugin-framework/src/main/java/com/gitee/starblues/integration/pf4j/ConfigPluginStatusProvider.java +++ b/springboot-plugin-framework/src/main/java/com/gitee/starblues/integration/pf4j/ConfigPluginStatusProvider.java @@ -7,7 +7,7 @@ import java.util.Set; /** * @author starBlues - * @version 2.3 + * @version 2.4.0 */ public class ConfigPluginStatusProvider implements PluginStatusProvider { diff --git a/springboot-plugin-framework/src/main/java/com/gitee/starblues/integration/pf4j/DefaultPf4jFactory.java b/springboot-plugin-framework/src/main/java/com/gitee/starblues/integration/pf4j/DefaultPf4jFactory.java index 2294e88..161c38a 100644 --- a/springboot-plugin-framework/src/main/java/com/gitee/starblues/integration/pf4j/DefaultPf4jFactory.java +++ b/springboot-plugin-framework/src/main/java/com/gitee/starblues/integration/pf4j/DefaultPf4jFactory.java @@ -94,7 +94,8 @@ public class DefaultPf4jFactory implements Pf4jFactory { @Override protected PluginLoader createPluginLoader() { return new CompoundPluginLoader() - .add(new JarPluginLoader(this), this::isNotDevelopment); + .add(new JarPluginLoader(this), this::isNotDevelopment) + .add(new DefaultPluginLoader(this), this::isNotDevelopment); } }; diff --git a/springboot-plugin-framework/src/main/java/com/gitee/starblues/integration/pf4j/JarPluginLoader.java b/springboot-plugin-framework/src/main/java/com/gitee/starblues/integration/pf4j/JarPluginLoader.java index 0a6a67a..c1d3185 100644 --- a/springboot-plugin-framework/src/main/java/com/gitee/starblues/integration/pf4j/JarPluginLoader.java +++ b/springboot-plugin-framework/src/main/java/com/gitee/starblues/integration/pf4j/JarPluginLoader.java @@ -28,10 +28,9 @@ public class JarPluginLoader implements PluginLoader { public ClassLoader loadPlugin(Path pluginPath, PluginDescriptor pluginDescriptor) { PluginClassLoader pluginClassLoader = new PluginClassLoader(pluginManager, pluginDescriptor, - ClassLoader.getSystemClassLoader(), + this.getClass().getClassLoader(), ClassLoadingStrategy.APD); pluginClassLoader.addFile(pluginPath.toFile()); - return pluginClassLoader; } diff --git a/springboot-plugin-framework/src/main/java/com/gitee/starblues/integration/pf4j/ResolvePropertiesPluginDescriptorFinder.java b/springboot-plugin-framework/src/main/java/com/gitee/starblues/integration/pf4j/ResolvePropertiesPluginDescriptorFinder.java index 1097241..d367111 100644 --- a/springboot-plugin-framework/src/main/java/com/gitee/starblues/integration/pf4j/ResolvePropertiesPluginDescriptorFinder.java +++ b/springboot-plugin-framework/src/main/java/com/gitee/starblues/integration/pf4j/ResolvePropertiesPluginDescriptorFinder.java @@ -15,7 +15,7 @@ import java.util.Properties; * 解决乱码问题 * * @author starBlues - * @version 1.0 + * @version 2.4.0 */ class ResolvePropertiesPluginDescriptorFinder extends PropertiesPluginDescriptorFinder { diff --git a/springboot-plugin-framework/src/main/java/com/gitee/starblues/integration/pf4j/SortDependencyResolver.java b/springboot-plugin-framework/src/main/java/com/gitee/starblues/integration/pf4j/SortDependencyResolver.java index 7e02bf4..33d9bf2 100644 --- a/springboot-plugin-framework/src/main/java/com/gitee/starblues/integration/pf4j/SortDependencyResolver.java +++ b/springboot-plugin-framework/src/main/java/com/gitee/starblues/integration/pf4j/SortDependencyResolver.java @@ -14,8 +14,9 @@ import java.util.List; import java.util.Objects; /** + * 控制插件启动顺序 * @author starBlues - * @version 1.0 + * @version 2.4.0 */ public class SortDependencyResolver extends DependencyResolver { diff --git a/springboot-plugin-framework/src/main/java/com/gitee/starblues/integration/user/DefaultPluginUser.java b/springboot-plugin-framework/src/main/java/com/gitee/starblues/integration/user/DefaultPluginUser.java index b65c62b..da9d204 100644 --- a/springboot-plugin-framework/src/main/java/com/gitee/starblues/integration/user/DefaultPluginUser.java +++ b/springboot-plugin-framework/src/main/java/com/gitee/starblues/integration/user/DefaultPluginUser.java @@ -13,7 +13,7 @@ import java.util.*; /** * 默认插件使用者 * @author starBlues - * @version 2.2.2 + * @version 2.4.0 */ public class DefaultPluginUser implements PluginUser{ diff --git a/springboot-plugin-framework/src/main/java/com/gitee/starblues/realize/BasePlugin.java b/springboot-plugin-framework/src/main/java/com/gitee/starblues/realize/BasePlugin.java index eabea9c..7bc18cf 100644 --- a/springboot-plugin-framework/src/main/java/com/gitee/starblues/realize/BasePlugin.java +++ b/springboot-plugin-framework/src/main/java/com/gitee/starblues/realize/BasePlugin.java @@ -7,7 +7,7 @@ import org.pf4j.PluginWrapper; * 插件包要继承的抽象类。 * 注意: 实现该类的子类无法使用依赖注入 * @author starBlues - * @version 2.2.0 + * @version 2.4.0 */ public abstract class BasePlugin extends Plugin { diff --git a/springboot-plugin-framework/src/main/java/com/gitee/starblues/realize/BasePluginExtend.java b/springboot-plugin-framework/src/main/java/com/gitee/starblues/realize/BasePluginExtend.java index c75aafd..1a0ce32 100644 --- a/springboot-plugin-framework/src/main/java/com/gitee/starblues/realize/BasePluginExtend.java +++ b/springboot-plugin-framework/src/main/java/com/gitee/starblues/realize/BasePluginExtend.java @@ -4,7 +4,7 @@ package com.gitee.starblues.realize; * 扩展的BasePlugin信息 * * @author starBlues - * @version 1.0 + * @version 2.4.0 */ public final class BasePluginExtend { diff --git a/springboot-plugin-framework/src/main/java/com/gitee/starblues/realize/ConfigBean.java b/springboot-plugin-framework/src/main/java/com/gitee/starblues/realize/ConfigBean.java index 37291d8..73f6f82 100644 --- a/springboot-plugin-framework/src/main/java/com/gitee/starblues/realize/ConfigBean.java +++ b/springboot-plugin-framework/src/main/java/com/gitee/starblues/realize/ConfigBean.java @@ -6,7 +6,7 @@ package com.gitee.starblues.realize; * bean 指的是Spring 容器中管理的bean * * @author starBlues - * @version 2.2.2 + * @version 2.4.0 */ public interface ConfigBean { diff --git a/springboot-plugin-framework/src/main/java/com/gitee/starblues/realize/OneselfListener.java b/springboot-plugin-framework/src/main/java/com/gitee/starblues/realize/OneselfListener.java index 4ee6d2e..ff7fc90 100644 --- a/springboot-plugin-framework/src/main/java/com/gitee/starblues/realize/OneselfListener.java +++ b/springboot-plugin-framework/src/main/java/com/gitee/starblues/realize/OneselfListener.java @@ -6,7 +6,7 @@ import com.gitee.starblues.utils.OrderPriority; * 监听本插件模块事件的监听者接口 * * @author starBlues - * @version 2.2.1 + * @version 2.4.0 */ public interface OneselfListener { diff --git a/springboot-plugin-framework/src/main/java/com/gitee/starblues/realize/PluginUtils.java b/springboot-plugin-framework/src/main/java/com/gitee/starblues/realize/PluginUtils.java index c2970b9..2d04031 100644 --- a/springboot-plugin-framework/src/main/java/com/gitee/starblues/realize/PluginUtils.java +++ b/springboot-plugin-framework/src/main/java/com/gitee/starblues/realize/PluginUtils.java @@ -1,9 +1,7 @@ package com.gitee.starblues.realize; -import com.gitee.starblues.integration.operator.module.PluginInfo; import com.gitee.starblues.utils.PluginBeanUtils; import org.pf4j.PluginDescriptor; -import org.pf4j.PluginWrapper; import org.springframework.context.ApplicationContext; import java.util.List; @@ -11,7 +9,7 @@ import java.util.List; /** * 插件工具类 * @author starBlues - * @version 1.0 + * @version 2.4.0 */ public class PluginUtils { diff --git a/springboot-plugin-framework/src/main/java/com/gitee/starblues/utils/AopUtils.java b/springboot-plugin-framework/src/main/java/com/gitee/starblues/utils/AopUtils.java index bd5774b..9fd2bf6 100644 --- a/springboot-plugin-framework/src/main/java/com/gitee/starblues/utils/AopUtils.java +++ b/springboot-plugin-framework/src/main/java/com/gitee/starblues/utils/AopUtils.java @@ -15,10 +15,10 @@ import java.util.Objects; import java.util.concurrent.atomic.AtomicBoolean; /** - * AOP 无法找到插件类的解决工具类 + * AOP 无法找到插件类的解决工具类(被遗弃) * * @author starBlues - * @version 1.0 + * @version 2.4.0 */ @Deprecated public class AopUtils { diff --git a/springboot-plugin-framework/src/main/java/com/gitee/starblues/utils/PluginBeanUtils.java b/springboot-plugin-framework/src/main/java/com/gitee/starblues/utils/PluginBeanUtils.java index 4dca938..6e5b20d 100644 --- a/springboot-plugin-framework/src/main/java/com/gitee/starblues/utils/PluginBeanUtils.java +++ b/springboot-plugin-framework/src/main/java/com/gitee/starblues/utils/PluginBeanUtils.java @@ -8,7 +8,7 @@ import java.util.*; /** * 插件bean工具类 * @author starBlues - * @version 1.0 + * @version 2.4.0 */ public class PluginBeanUtils { @@ -40,4 +40,34 @@ public class PluginBeanUtils { return null; } + /*** + * 得到存在的bean, 不存在则返回null + * @param applicationContext ApplicationContext容器 + * @param aClass bean 类型 + * @return 存在bean对象, 不存在返回null + */ + public static T getExistBean(ApplicationContext applicationContext, Class aClass){ + String[] beanNamesForType = applicationContext.getBeanNamesForType(aClass, false, false); + if(beanNamesForType.length > 0){ + return applicationContext.getBean(aClass); + } else { + return null; + } + } + + /*** + * 得到存在的bean, 不存在则返回null + * @param applicationContext ApplicationContext容器 + * @param beanName bean 名称 + * @return 存在bean对象, 不存在返回null + */ + public static T getExistBean(ApplicationContext applicationContext, String beanName){ + if(applicationContext.containsBean(beanName)){ + Object bean = applicationContext.getBean(beanName); + return (T) bean; + } else { + return null; + } + } + } -- Gitee