0
我在幻影-dsl上玩了一下,並且使用CassandraTable
類成功實現了對集羣的讀/寫操作。使用Phantom在Cassandra集羣上連接超時
但是,如果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驅動程序完全幻影,但可能有一些幻影,我不知道,它已經完成了這個目標。