Невозможно использовать инжектор приложения игровой платформы для внедрения 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: ошибка формата 600000 в 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 для 1-го параметра 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: ошибка формата 600000

кто-нибудь знает, почему это происходит? не нашел ничего, что могло бы помочь мне в сети, я пробовал ...


person JohnBigs    schedule 13.07.2017    source источник
comment
кто-то недавно задал точно такой же вопрос здесь. ваш был бы дубликатом, если бы у того был ответ   -  person shayan    schedule 13.07.2017


Ответы (1)


Сегодня я столкнулся с этой проблемой и обнаружил, что это не дубликат этой проблемы, но это ошибка форматирования свойства. Начиная с Play 2.6, свойства WS должны быть указаны как со значением, так и с единицей измерения (например, 10000 мс). Таким образом, ваши свойства изменится на что-то вроде следующего:

play.ws.connection.timeout = 10000ms
person amherrington    schedule 28.11.2017