播放依赖注入重新加载

时间:2016-12-21 16:34:52

标签: scala playframework dependency-injection sbt

在Scala中使用建议的依赖注入机制(https://www.playframework.com/documentation/2.5.x/ScalaDependencyInjection)使用guice开发一个play框架(版本2.5.9)。

应用程序使用自定义模块(发布为jar并作为外部依赖项导入),该模块具有使用注入依赖注入机制的其他类(1,2)的单例类(A,B)。

相同的注入类(1,2)在当前应用中使用相同的方法。

例如:

属于自定义模块的A类使用依赖注入提供的类1

属于当前开发的应用程序的C类使用依赖注入提供的类1

此设置正常工作,直到开发过程中代码中的更改触发sbt重新编译并重新加载应用程序。

当发生这种情况时,应用程序将重新启动,但模块中的类不会提供注入类的新实例(例如1),因此,例如,如果类1是play框架中的数据库特征,则实例中提供的实例模块停止工作,迫使开发人员从头开始重新启动应用程序。

有没有办法阻止这种情况的发生和sbt / play" autoreload"应用程序继续正常工作。

我希望我的问题有点明确:)

0 个答案:

没有答案