繁体   English   中英

未能使用Play框架应用注入器注入WSClient

[英]Failing to use play framework app injector to inject WSClient

我正在使用play 2.6.0和scala 2.11.8

我一直在使用play的WSClient进行相同配置,没有任何问题:

application.conf:

play {
  ws.timeout.connection = 600000
  ws.timeout.idle = 600000
  ws.timeout.request = 600000
}

现在我需要在我的考考斯语中注入它的实例,我的一个班级将它作为依赖项。

它看起来像这样:

class TestClass extends FreeSpec with OneAppPerSuite {


  implicit lazy val materializer: Materializer = app.materializer

  // this line is failing
  val ws: WSClient = app.injector.instanceOf[WSClient]

  ..
}

此时测试已经失败,并显示以下错误:

1)注入构造函数java.lang.NumberFormatException时出错:play.api.libs.ws.ahc.AsyncHttpClientProvider.class(play.api.libs.ws.ahc.AsyncHttpClientProvider。(AhcWSModule.scala:40)处的格式错误600000 (ahcWSModule.scala:39)定位play.api.libs.ws.ahc.AsyncHttpClientProvider的同时定位play.api.libs.ws.ahc.AhcWSClientProvider。(的第一个参数的play.shaded.ahc.org.asynchttpclient.AsyncHttpClient在play.api.libs.ws.ahc.AhcWSClientProvider.class(AhcWSModule.scala:203)上找到AhcWSModule.scala:203),同时在play.api.libs.ws上找到play.api.libs.ws.ahc.AhcWSClientProvider。 WSClient

造成原因:

java.lang.NumberFormatException:格式错误600000

有谁知道为什么会这样吗? 没有找到任何可以在线帮助我的东西,我尝试了...

我今天遇到了这个问题,发现它不是此问题的重复,而是属性格式化错误。 从Play 2.6开始,必须使用值和单位(即10000ms)指定WS属性。 因此,您的属性将更改为类似于以下内容:

play.ws.connection.timeout = 10000ms

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

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