在嵌入式cassandra中禁用JMX指标的方法是什么

问题描述

我已经创建了一个EmbeddedCassandra实例

EmbeddedCassandraManager类{ ..//创建的factory实例,在这里启动了cassandra }

然后我在所有规格中使用EmbeddedCassandra的单个实例,以避免运行多个实例。

class RepositorySpecs通过BeforeAndAfterall扩展了PlaySpec {

val logger = LoggerFactory.getLogger(this.getClass.getName) val EmbeddedCassandraManager =新的EmbeddedCassandraManager() 覆盖def afterall():Unit = { logger.trace(“全部关闭连接”) EmbeddedCassandraManager.closeCassandra() }

  "Repository Specs" should {
    "run all specs" in {

      val specs = Sequential(
        new AnswersRepositorySpecs(embeddedCassandraManager),new AnswersTransactionRepositorySpecs(embeddedCassandraManager),new CassandraRepositorySpecs(embeddedCassandraManager),new PartitionsOfATagRepositorySpecs(embeddedCassandraManager),new PasswordRepositorySpecs(embeddedCassandraManager),new PracticeQuestionsRepositorySpecs(embeddedCassandraManager),new PracticeQuestionsTagsRepositorySpecs(embeddedCassandraManager),new QuestionsAnsweredByAUserForATagSpecs(embeddedCassandraManager),new QuestionsCreatedByAUserForATagSpecs(embeddedCassandraManager),new SupportedTagsRepositorySpecs(embeddedCassandraManager),new UserProfileAndPortfolioRepositorySpecs(embeddedCassandraManager),new UsersRepositorySpecs(embeddedCassandraManager),new UserTokenRepositorySpecs(embeddedCassandraManager)
      )
      for(spec<-specs.nestedSuites){
        logger.trace(s"executing spec ${spec}")
        spec.execute()
      }


    }
  }

我的测试显示出很多此类错误

javax.management.InstanceAlreadyExistsException: codingJediCluster-metrics:name=retries-on-client-timeout
    at com.sun.jmx.mbeanserver.Repository.addMBean(Repository.java:437)

此答案说明我可以禁用计数器。

jmx error while using cassandra driver in multiple wars deployed in same jvm

  1. 禁用计数器的方法是什么?
  2. 是什么导致此异常?抱歉,但是我无法理解另一个SO问题的解释。

解决方法

暂无找到可以解决该程序问题的有效方法,小编努力寻找整理中!

如果你已经找到好的解决方法,欢迎将解决方案带上本链接一起发送给小编。

小编邮箱:dio#foxmail.com (将#修改为@)