【发布时间】:2014-12-24 00:11:38
【问题描述】:
我尝试运行了一个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
}
程序正确打印结果,但它不会自行退出。不知道是不是我的代码或者环境有问题。
【问题讨论】:
-
JVM 直到所有线程都退出后才会退出。我不熟悉elastic4s,但您可能想在
client.close之前做client.shutdown?或者在调试器中运行它并检查哪些线程仍在运行。 -
我可以确认同样的行为。事实上,即使您只是打开客户端并立即关闭它,也会发生这种情况。 close call 只是 Java 客户端的一个包装器,所以我不确定它为什么不立即终止。
-
@Imm 不起作用...
标签: scala elasticsearch elastic4s