我正在使用phantom-dsl玩一下,我使用CassandraTable
类成功地在集群上实现了读/写操作。
但是,如果while群集已关闭或配置错误,我想快速失败:使用特定超时停止我的CLI并退出程序,实际上在尝试编写内容之前。
实现这一目标的好方法是什么?到目前为止我已经尝试过了:
object Config {
val keySpace = KeySpace("myreallyfirstks")
val contactPoint: KeySpaceBuilder = ContactPoint(host = "localhost", port = ContactPoint.DefaultPorts.live)
val keySpaceDefinition: KeySpaceDef = contactPoint.keySpace(keySpace.name)
lazy val session: Session = keySpaceDefinition.provider.getSession(keySpace.name)
trait StandardConnector extends keySpaceDefinition.Connector
}
然后
val test = Try(Config.session.executeAsync("select * from system.schema_columns limit 1;").get(1, TimeUnit.SECONDS))
Try(test) match {
case Success(_) => println("Someone is alive")
case Failure(ex) => println(s"The cluster is down")
}
然而,即使我指向未安装C *的地址,这也会使我获益。
使用Session
跳过完全幻影直接转到Java驱动程序,然而可能有一些我不知道的幻像,并且它已经为此目标做了。