gpt4 book ai didi

java - Spring IOC Bootstrap是否可能

转载 作者:行者123 更新时间:2023-11-29 03:30:16 25 4
gpt4 key购买 nike

我的应用程序是一个使用 Spring IoC 的独立 Java 应用程序。使用 ApplicationContext 加载引导应用程序假设内存中有 35 个服务,然后在我的应用程序的 JVM 生命周期实例中使用这些服务。此引导需要大约 6-7 分钟,这使得单元测试变得困难。

这是我必须执行的步骤序列,我试图避免并仍然使用 Spring:

  1. Bootstrap (Spring),然后是实际的业务逻辑代码。
  2. 测试代码。
  3. 测试后我发现我想要更改的内容,这意味着我必须停止 JVM,修改我的代码,然后重新启动它,此时 Spring 再次需要大约 6-7 分钟来引导应用程序。

如何在不强制重启 JVM 的情况下在同一个 JVM 实例中测试我修改后的代码?

最佳答案

没有简单的解决办法

我知道三种可能的方法来避免你的问题:

  1. 尝试模拟部分服务。特别是在 junit 测试中,这是推荐的做法。在 IOC 就绪架构中,这应该很容易。在手动测试中,您可以使用虚假服务。

  2. 切换到 OSgI 架构。这将允许您启动、停止和重新部署单个服务。但是您将不得不使用 OSgI 容器,并且切换需要 6-7 分钟的倍数。

  3. 尝试像 JRebel 这样的东西,它 promise 消除热部署问题(经过 14 天评估后,您将不得不购买它)。但很多时候扩展的热部署不会有帮助,因为您将不得不清理您的应用程序上下文。

关于java - Spring IOC Bootstrap是否可能,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/18673497/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com