【问题标题】:Cassandra Connection Error: await*() in I/O thread causes a dead lockCassandra 连接错误:I/O 线程中的 await*() 导致死锁
【发布时间】:2014-07-01 22:22:32
【问题描述】:

我正在尝试设置 Cassandra,并在此处遵循 cassandra 设置:http://www.datastax.com/documentation/developer/java-driver/2.0/java-driver/quick_start/qsSimpleClientCreate_t.html,但每次尝试连接时,我都会收到错误消息:

java.lang.IllegalStateException: await*() in I/O thread causes a dead lock or sudden performance drop. Use addListener() instead or call await*() from a different thread.

基于这个问题https://datastax-oss.atlassian.net/browse/JAVA-38,它看起来可能是Netty 冲突,但我不知道如何解决它。我正在使用 Play 2.2.3 for scala、Datastax java 驱动程序 2.0.2 和 Cassandra 2.0.3。

我的代码:

class SimpleClient {
  private var cluster: Cluster = null

  def connect(node: String): Unit = {
    cluster = Cluster.builder().addContactPoint(node).build();

    val metaData = cluster.getMetadata();
    println(s"########## connected to cluster: ${metaData.getClusterName}")
  }

  def close() = {
    cluster.close
  }
}

【问题讨论】:

    标签: java multithreading scala cassandra


    【解决方案1】:

    我无法解决这个问题,所以我放弃了 Play for Scalatra。我使用了与上面完全相同的代码,现在我可以很好地连接到 Cassandra。一定是某些 Play 依赖项与 datastax 驱动程序不一致。

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 2021-03-14
      • 2017-09-16
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多