繁体   English   中英

Play Framework 2.6-允许Guice循环代理

[英]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.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM