From 138d52e731e424c89c4e0fdbeb541fdfdee2daef Mon Sep 17 00:00:00 2001 From: guqing <38999863+guqing@users.noreply.github.com> Date: Fri, 5 Jul 2024 12:08:37 +0800 Subject: [PATCH] chore: keep the pluginWrapper bean for compatibility (#6271) MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit #### What type of PR is this? /area core /milestone 2.18.x #### What this PR does / why we need it: 为了平滑升级先保留 PluginWrapper 的 Bean #### Does this PR introduce a user-facing change? ```release-note None ``` --- api/src/main/java/run/halo/app/plugin/BasePlugin.java | 9 ++++----- .../plugin/DefaultPluginApplicationContextFactory.java | 1 + 2 files changed, 5 insertions(+), 5 deletions(-) diff --git a/api/src/main/java/run/halo/app/plugin/BasePlugin.java b/api/src/main/java/run/halo/app/plugin/BasePlugin.java index 18765375f..bde5bc9f9 100644 --- a/api/src/main/java/run/halo/app/plugin/BasePlugin.java +++ b/api/src/main/java/run/halo/app/plugin/BasePlugin.java @@ -1,8 +1,8 @@ package run.halo.app.plugin; +import lombok.Getter; import lombok.extern.slf4j.Slf4j; import org.pf4j.Plugin; -import org.springframework.lang.NonNull; /** * This class will be extended by all plugins and serve as the common class between a plugin and @@ -11,10 +11,11 @@ import org.springframework.lang.NonNull; * @author guqing * @since 2.0.0 */ +@Getter @Slf4j public class BasePlugin extends Plugin { - protected final PluginContext context; + protected PluginContext context; /** * Constructor a plugin with the given plugin context. @@ -25,8 +26,6 @@ public class BasePlugin extends Plugin { this.context = pluginContext; } - @NonNull - public PluginContext getContext() { - return context; + public BasePlugin() { } } diff --git a/application/src/main/java/run/halo/app/plugin/DefaultPluginApplicationContextFactory.java b/application/src/main/java/run/halo/app/plugin/DefaultPluginApplicationContextFactory.java index 90660a957..8a6ba0126 100644 --- a/application/src/main/java/run/halo/app/plugin/DefaultPluginApplicationContextFactory.java +++ b/application/src/main/java/run/halo/app/plugin/DefaultPluginApplicationContextFactory.java @@ -85,6 +85,7 @@ public class DefaultPluginApplicationContextFactory implements PluginApplication sw.start("RegisterBeans"); var beanFactory = context.getBeanFactory(); + beanFactory.registerSingleton("pluginWrapper", pluginWrapper); context.registerBean(AggregatedRouterFunction.class); if (pluginWrapper.getPlugin() instanceof SpringPlugin springPlugin) {