我正在运行一个弹簧应用程序。
我的要求是用户将在运行时将插件jar文件放在指定的lib文件夹位置。 这个插件jar文件也有spring应用程序上下文文件。我想加载这个jar,意味着所有的类 - spring bean 以及它在运行时从这个jar文件中所有依赖的bean /组件(这很重要)。
我不想创建新的/子应用程序上下文,并且想要使用在应用程序启动时加载的现有spring bean上下文。
我在SO上提到了很少其他类似的线程/问题,可以解决动态加载spring bean的问题。 但我无法解决加载spring bean的所有依赖bean的问题。
你能不能提供任何指针/提示来动态加载运行时加载的spring bean(也是)的所有依赖bean?
提前致谢, Picku
答案 0 :(得分:1)
如果您希望能够在启动后加载插件,那么您不会因为没有在孩提时创建其他应用程序上下文而逃脱。
我建议你这样做,然后在父上下文中创建一些钩子,你的插件将自己集成。
另一种方法是在主类路径中包含plugin.jar,然后重新启动应用程序以包含插件。