Я попытался запустить пример кода elastic4s, как следует,elastic4s не выходит
import com.sksamuel.elastic4s.ElasticClient
import com.sksamuel.elastic4s.ElasticDsl._
object hw extends App {
val client = ElasticClient.local
client.execute(create index "bands")
client.execute { index into "bands/artists" fields "name"->"coldplay" }.await
val resp = client.execute { search in "bands/artists" query "coldplay" }.await
println(resp)
client.close
}
Программа корректно печатает результаты, но не выходит из себя. Я не знаю, есть ли проблемы с моим кодом или средой.
Виртуальная машина Java не выходит пока все потоки не выйдут. Я не знаком с elastic4s, но вы можете захотеть сделать 'client.shutdown' перед' client.close'? Или запустите его в отладчике и проверьте, какие потоки все еще запущены. – lmm
Я могу подтвердить то же поведение. На самом деле это происходит, даже если вы просто открываете клиент и сразу закрываете его. Закрытие вызова - это всего лишь оболочка вокруг клиента Java, поэтому я не уверен, почему он не заканчивается немедленно. – monkjack
@Imm, который не работает ... –