我正在使用play 2.6.0和scala 2.11.8
我一直在使用游戏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: 格式错误600000 at 。play.api.libs.ws.ahc.AsyncHttpClientProvider(AhcWSModule.scala:40) 在 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.WSClient
引起:
java.lang.NumberFormatException:format error 600000
有没有人知道为什么会这样?没有找到任何可以帮助我上网的东西,我试过......
答案 0 :(得分:0)
我今天遇到了这个问题并发现它不是this issue的副本,而是属性格式错误。从Play 2.6开始,必须使用值和单位(即10000毫秒)指定WS属性。因此,您的属性将更改为更类似于以下内容:
play.ws.connection.timeout = 10000ms