我的应用程序是一个使用Spring IoC的独立Java应用程序。使用ApplicationContext加载引导应用程序可以在内存中使用35个服务,然后在我的应用程序的JVM生命周期实例中使用这些服务。这种引导需要大约6-7分钟,这使得单元测试变得困难。
这是我要做的一系列步骤,我试图避免并仍然使用Spring:
如何在不强制重启JVM的情况下在同一个JVM实例中测试我修改过的代码?
答案 0 :(得分:4)
这个
没有简单的解决方法我知道三种可能的方法来避免你的问题:
尝试模拟部分服务。特别是在junit测试中,这是推荐的实践。在IOC ready架构中,它应该很容易。在手动测试中,您可以使用虚假服务。
切换到OSgI架构。这将允许您启动,停止和重新部署单个服务。但是你必须使用一个OSgI容器,它需要6-7分钟的时间才能切换。
尝试像JRebel这样的东西,它可以消除热部署的问题(经过14天的评估,你将不得不购买它)。但很多时候延长热门开发都没有用,因为你必须清理你的应用程序环境。