在旧项目中,我们正在尝试升级Play!到2.6版本,我们无法启用循环代理。
之前(在Play!2.5中),有可能在disableCircularProxies(false)
上调用GuiceInjectorBuilder
,但现在没有这样的方法。
怎么能解决这个问题?
答案 0 :(得分:0)
我不确定在2.6.x中删除了disableCircularProxies
的原因。但是,您可以直接致电withBinderOptions
来解决此问题。 Here's disableCircularProxies
的2.5.x实现:
final def disableCircularProxies(disable: Boolean = true): Self =
withBinderOption(DisableCircularProxies, disable)
在2.6.x中,您可以通过直接调用来获得与disableCircularProxies
相同的效果:
withBinderOption(DisableCircularProxies, disable)
答案 1 :(得分:0)
在当前的解决方案中,我在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"