1

我正在使用 play 2.6.0 和 scala 2.11.8

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

应用程序.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: 格式错误 600000 at play.api.libs.ws.ahc.AsyncHttpClientProvider.(AhcWSModule.scala:40) at play.api.libs.ws.ahc.AsyncHttpClientProvider.class( AhcWSModule.scala:39) 同时定位 play.api.libs.ws.ahc.AsyncHttpClientProvider 同时定位 play.shaded.ahc.org.asynchttpclient.AsyncHttpClient 的第一个参数 play.api.libs.ws.ahc.AhcWSClientProvider.( AhcWSModule.scala:203) 在 play.api.libs.ws.ahc.AhcWSClientProvider.class(AhcWSModule.scala:203),同时定位 play.api.libs.ws.ahc.AhcWSClientProvider,同时定位 play.api.libs.ws。 WS客户端

造成的:

java.lang.NumberFormatException:格式错误 600000

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

4

1 回答 1

0

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

play.ws.connection.timeout = 10000ms
于 2017-11-28T22:26:18.270 回答