问题标签 [pf4j]
For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.
spring-boot - PF4J Spring - 除了在配置类中声明的 bean 之外,无法加载插件中的任何组件
我们正在为我们的一个项目使用插件架构,我们决定使用 Spring pf4j。当我们通过扩展加载插件时 - 应用程序上下文无法在插件项目中找到使用 @component 创建的 bean - 但是当我们使用 register 方法配置插件时,@configuration 类中声明的 bean 被正确注入 - 无论如何扫描和加载插件中的弹簧组件?
spring - 无法使用 PF4J、PF4J-Spring 和 Wicket 从应用程序上下文接收具体 bean
我正在使用 Wicket 和 PF4J 制作一个 Spring Boot 应用程序。我想在我的插件中使用 spring 服务。这些服务不使用插件类加载器之外的服务。在我的插件中,我可以有检票口面板。面板类可以使用 Spring 服务。
这里是插件的类:
它的界面:
SpringConfiguration 类:
配置面板:
和服务:
为了显示配置,我在我的应用程序中使用了这个页面:
当我询问 PluginTestPage 时,出现此错误:
问题的根源是什么?这是我的设置错误还是 pf4j-spring 的错误?
问候, 史蒂夫
spring-boot - 如何使 pf4j 插件 bean 可注入 Spring 应用程序
我们正在尝试利用 pf4j 和 pf4j-spring 来提供基于 Spring 的灵活应用程序。
理想情况下,我们希望在插件中定义 Spring bean(@Service
和@Repository
其他)并将它们注入到主应用程序中。
从我所见,它似乎由于时间问题而失败。或者换句话说,Springs 期望 bean 在PluginManager
实例化之前可用。
GitHub 上有一个示例存储库说明了该问题。
问题是:我可以改变一些东西,让 Spring 实例化第PluginManager
一个吗?是否有另一种方法可以使这项工作?
注意:是的,我们知道sbp。不幸的是,它似乎已经死了,我们也没有让它正常工作。
java - best pattern to share services with a pf4j plugin from the host? (not spring)
Im creating a pluggable CLI tool that allows users to add plugins in the form of picocli subcommands to a host picocli app.
I want to be able to supply the plugins with shared functionality such as http communication with a server defined in a user profile on the main app. As I have it now I just have an api for the extension point that contains the service, which is the initialised on plugin load, but this only works for a single service, and requires all plugins to have the service.
#xA;The plugins look like this:
#xA;then in the root app I can set it by simply calling setHttpService on all plugins. This is a bad pattern, I know it is, what is a better way of achieving this for several services?