У меня есть успокаивающее веб-сервис, разработанный с использованием платформы 2.5. Я хочу настроить свой веб-сервис на себя, назвав себя. Это делается для того, чтобы мой сервис был полностью запущен.Play 2.5 загрунтовать веб-сервис
Подход, который я принимаю, использует eagerBinding. Но код внутри класса вводится с помощью нетерпеливый связывания запускается на выполнение непосредственно перед приложение начинает
Вот что мой eagerbinding код выглядит
@Singleton
class PrimingMe @Inject()(ws: WSClient) {
isServicePrimed
def isServicePrimed: Boolean = {
println("PRIME ME!!!")
val response = ws.url("http://localhost:9000/index").get
.map {
response =>
response.status match {
case 200 => true
case _ => false
}
}
try {
Await.result(response, 5.second)
} catch {
case _ => false
}
}
}
class ServiceInjectionModule extends AbstractModule {
def configure(): Unit = {
bind(classOf[PrimingMe]).asEagerSingleton
}
}
Внутри application.conf
play.modules.enabled += "util.ServiceInjectionModule"
Я хочу запустите мое приложение с помощью фиктивного вызова службы, чтобы при запуске реального трафика все соединения db были сделаны. В настоящее время мой первый призыв к сервису занимает гораздо больше времени, чем обычно. Какие еще варианты я должен достичь.
Зачем это должен быть первый модуль? – rethab
@rethab На всякий случай порядок инициализации имеет значение ... – pamu
thats right it works, мне пришлось запустить мое приложение с началом сборки sbt. однако проблема заключается в том, что я не могу позвонить «себе», как это перед началом службы. позвольте мне перефразировать вопрос. – konquestor