spring-boot - PF4J Spring - 除了在配置类中声明的 bean 之外,无法加载插件中的任何组件
问题描述
我们正在为我们的一个项目使用插件架构,我们决定使用 Spring pf4j。当我们通过扩展加载插件时 - 应用程序上下文无法在插件项目中找到使用 @component 创建的 bean - 但是当我们使用 register 方法配置插件时,@configuration 类中声明的 bean 被正确注入 - 无论如何扫描和加载插件中的弹簧组件?
解决方案
@Component
in pluginApplicationContext
通过注册到 main SpringExtensionFactory
,请确保您正确设置它DefaultPluginManager
。
如果你打算在 SpringBoot 中使用 pf4j,我建议你看看sbp项目。它基于 pf4j 构建,并提供与 SpringBoot 的更好集成。
推荐阅读
- c# - 如何在消息记录 wcf 中添加过滤器
- reactjs - 映射 prop 数组时 React .map 不是函数
- python - PyTorch - AssertionError:张量之间的大小不匹配
- javascript - 堆栈跟踪中的评估是邪恶的吗?
- node.js - 为什么在通过 sudo 以 root 身份询问时,尽管安装了 NVM 和最新的 LTS,节点仍报告旧版本?
- azure-synapse - 从 Azure Synapse spark notebook 连接到 SQL-Pool 表
- java - 在 JavaFX Maven 项目的 pom.xml 文件中添加 VM 标志
- java - Hibernate 和 DispatcherServlet 初始化的关系
- python - 在 Qpython (android) 上使用 SSL 时出现错误
- excel - 使用 CreateObject("Excel.Application") 的 2 个 Excel 链接实例