我正在运行一个spring应用程序。
我的要求是用户将在运行时放置一个插件jar文件在指定的lib文件夹位置。这个插件jar文件也将包含spring应用程序上下文文件。我想在运行时从这个jar文件中加载这个jar,这意味着所有的类- spring bean及其所有依赖的bean/组件(这很重要)。
我不想创建新的/子应用程序上下文,而是希望使用在应用程序启动时加载的现有spring bean上下文。
我在SO上参考了一些其他类似的线程/问题,可以解决动态加载spring beans的问题。但是我不能解决为spring bean加载所有依赖bean的问题。
您能提供任何指针/提示来动态加载spring bean(也是在运行时加载的)的所有依赖bean吗?
提前谢谢,Picku
发布于 2017-08-22 04:08:40
如果您希望能够在启动后加载插件,您将无法逃脱不创建另一个应用程序上下文作为子级的责任。
我建议你这样做,然后在父上下文中创建一些钩子,这样你的插件就可以自我集成了。
另一种方法是将plugin.jar包含在主类路径中,然后重新启动应用程序以包含该插件。
https://stackoverflow.com/questions/45803545
复制相似问题