【问题标题】:How to activate circular dependencies in Play 2.5?如何在 Play 2.5 中激活循环依赖?
【发布时间】:2016-09-03 05:15:27
【问题描述】:

这个问题源于我两天前问的question。我实现了自己的错误处理程序,它扩展了DefaultHttpErrorHandlerDefaultHttpErrorHandler 扩展了 HttpErrorHandler,它也用作 WebJarAssets 类中的参数 errorHandler: HttpErrorHandler。一开始我以为我的设计有缺陷,但James Ward 评论说我似乎做对了

长话短说,我需要知道如何激活循环依赖。不幸的是,Play documentation 中没有列出示例代码,所以我不知道应该在哪里设置disableCircularProxies(false)

【问题讨论】:

    标签: scala playframework guice webjars playframework-2.5


    【解决方案1】:

    您需要一个自定义的GuiceApplicationLoader,例如:

    import play.api.ApplicationLoader
    import play.api.inject.guice.{GuiceApplicationLoader, GuiceApplicationBuilder}
    
    class CustomApplicationLoader extends GuiceApplicationLoader {
      override protected def builder(context: ApplicationLoader.Context): GuiceApplicationBuilder = {
        super.builder(context).disableCircularProxies(false)
      }
    }
    

    并告诉 Play 在application.conf 中使用它:

    play.application.loader = "CustomApplicationLoader"
    

    完整代码示例: https://github.com/webjars/webjars-play/tree/cicular-deps

    【讨论】:

      猜你喜欢
      • 2017-03-27
      • 1970-01-01
      • 1970-01-01
      • 2015-12-29
      • 1970-01-01
      • 2021-11-29
      • 2011-04-01
      • 1970-01-01
      • 2017-02-23
      相关资源
      最近更新 更多