[英]Play Framework 2.6 - Allow Guice Circular Proxying
在旧项目中,我们正在尝试升级Play! 到2.6版本,我们无法启用循环代理。
之前(在Play!2.5中),可以在GuiceInjectorBuilder
上调用disableCircularProxies(false)
,但现在没有这样的方法。
如何解决?
我不确定为什么在2.6.x中删除了disableCircularProxies
。 但是,您可以通过直接调用withBinderOptions
解决此问题。 这是disableCircularProxies
的2.5.x实现:
final def disableCircularProxies(disable: Boolean = true): Self =
withBinderOption(DisableCircularProxies, disable)
在2.6.x中,您可以通过直接调用来获得与disableCircularProxies
相同的效果:
withBinderOption(DisableCircularProxies, disable)
在当前解决方案中,我在Java项目中使用了Scala API,因为那里仍然有disableCircularProxies可用。
class CustomApplicationLoader extends GuiceApplicationLoader() {
override def builder(context: ApplicationLoader.Context): GuiceApplicationBuilder = {
initialBuilder
.disableCircularProxies(false)
.in(context.environment)
.loadConfig(context.initialConfiguration)
.overrides(overrides(context): _*)
}
}
并在application.conf中
play.application.loader = "configuration.api.CustomApplicationLoader"
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.