Java 未能注入Play';使用injector创建WSS客户端实例
我有一个类注入了WSClient依赖性:Java 未能注入Play';使用injector创建WSS客户端实例,java,scala,playframework,playframework-2.0,scalatest,Java,Scala,Playframework,Playframework 2.0,Scalatest,我有一个类注入了WSClient依赖性: @Singleton class MyApiService @Inject() (wsclient: WSClient, conf: Configuration) { ... } 在运行测试并使用injector创建MyApiService实例时: class MyTest extends FreeSpec with OneAppPerSuite with ScalaFutures with WsScalaTestClient { implici
@Singleton
class MyApiService @Inject() (wsclient: WSClient, conf: Configuration) {
...
}
在运行测试并使用injector创建MyApiService实例时:
class MyTest extends FreeSpec with OneAppPerSuite with ScalaFutures with WsScalaTestClient {
implicit lazy val materializer: Materializer = app.materializer
lazy val wsc: WSClient = app.injector.instanceOf[WSClient]
lazy val conf: Configuration = app.injector.instanceOf[Configuration]
val myApiService: MyApiService = app.injector.instanceOf[MyApiService]
"Api Test" in {
...
}
我得到这个错误:
异常或错误导致运行中止:无法设置,请参阅
以下错误:
1) 注入构造函数java.lang.NumberFormatException时出错:
在10000处出现格式错误
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.shade.ahc.org。。。原因:
java.lang.NumberFormatException:格式错误10000
在我的应用程序.cong
中,我添加了:
ws.timeout.connection = 10000
ws.timeout.idle = 10000
ws.timeout.request = 10000
尝试改为60000没有区别
使用play 2.6.0和scala 2.11.8
也许有人知道它为什么会失败
谢谢我想这可能与这个问题有关: 有一个建议的解决方法: 创建文件
/conf/ahc-default.properties与此要点的内容相同我遇到了同样的问题。这是ws.timeout属性的格式问题 在游戏2.6中,这些属性需要有一个时间单位。这是一个 WSConfigParser尝试使用这些属性的值构造scala.concurrent.Duration的实例。如果提供的值没有有效的时间单位,则持续时间将为 修复方法是将
ms
添加到这些属性->1000ms
这是我的application.conf
play {
ws {
timeout {
connection: 10000ms
idle: 30000ms
request: 60000ms
}
}
}
没有帮助我的朋友…:/您正在运行所有内容的最新兼容版本吗?-除此之外,我没有建议-索兹:)你到底解决了你的问题吗?