gpt4 book ai didi

java - 无法使用 play 框架应用程序注入(inject)器注入(inject) WSClient

转载 作者:太空宇宙 更新时间:2023-11-04 11:19:35 26 4
gpt4 key购买 nike

我使用 play 2.6.0 和 scala 2.11.8

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

应用程序.conf:

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

现在我需要在我的测试中注入(inject)它的一个实例,因为我的一个类将它作为依赖项。

它看起来像这样:

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) Error injecting constructor, java.lang.NumberFormatException: format error 600000 at play.api.libs.ws.ahc.AsyncHttpClientProvider.(AhcWSModule.scala:40) at play.api.libs.ws.ahc.AsyncHttpClientProvider.class(AhcWSModule.scala:39) while locating play.api.libs.ws.ahc.AsyncHttpClientProvider while locating play.shaded.ahc.org.asynchttpclient.AsyncHttpClient for the 1st parameter of play.api.libs.ws.ahc.AhcWSClientProvider.(AhcWSModule.scala:203) at play.api.libs.ws.ahc.AhcWSClientProvider.class(AhcWSModule.scala:203) while locating play.api.libs.ws.ahc.AhcWSClientProvider while locating play.api.libs.ws.WSClient

原因:

java.lang.NumberFormatException: format error 600000

有人知道为什么会发生这种情况吗?在网上找不到任何可以帮助我的东西,我尝试过......

最佳答案

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

play.ws.connection.timeout = 10000ms

关于java - 无法使用 play 框架应用程序注入(inject)器注入(inject) WSClient,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/45075384/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com