【问题标题】:Dynamic loading of spring bean from jar along with dependent beans从 jar 中动态加载 spring bean 以及依赖 bean
【发布时间】:2018-01-29 21:48:07
【问题描述】:

我正在运行一个 spring 应用程序。

我的要求是用户将在运行时将插件 jar 文件放置在指定的 lib 文件夹位置。 这个插件 jar 文件也将具有 spring 应用程序上下文文件。我想加载这个 jar,意思是所有的类——spring beans 及其所有依赖的 bean/组件(这很重要),在运行时来自这个 jar 文件。

我不想创建新的/子应用程序上下文,并且想使用在应用程序启动时加载的现有 spring bean 上下文。

我参考了一些其他类似的关于 SO 的线程/问题,并且可以解决动态加载 spring bean 的问题。 但是我无法解决为 spring bean 加载所有依赖 bean 的问题。

您能否提供任何指针/提示来动态加载所有在运行时加载的 spring bean 的依赖 bean?

提前致谢, 皮库

【问题讨论】:

    标签: spring dependency-injection jar autowired


    【解决方案1】:

    如果您希望能够在启动后加载插件,您将无法在小时候不创建另一个应用程序上下文。

    我建议您这样做,然后在父上下文中创建一些挂钩,您的插件将自行集成。

    另一种方法是将该 plugin.jar 包含在主类路径中,然后重新启动应用程序以包含该插件。

    【讨论】:

    • 感谢迈克尔的回复。我不想重新启动我的服务器。我将检查如何实施您的第一个建议。如果您有任何示例代码,请分享。再次感谢。
    • 计划在github上发布...如果我能有足够的时间去做
    • 我现在为此创建了一个 bitbucket。它现在处于相当可用的状态...看看bitbucket.org/afrozaar/nimbal
    • @MichaelWiles,在 bitbucket 自述文件中,我可以看到一些尚未推出的功能,您能否确认它们是否已被合并?
    • 不,没有更多的时间来处理它。如果您对此感兴趣,那么我可以添加这些。让我解决一些 github 问题
    猜你喜欢
    • 1970-01-01
    • 2023-03-23
    • 2011-07-07
    • 1970-01-01
    • 2012-08-02
    • 2017-04-03
    • 2021-12-14
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多