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