gpt4 book ai didi

java - 如何避免 Cassandra StorageService 类 InstanceAlreadyExistsException

转载 作者:太空宇宙 更新时间:2023-11-04 08:03:03 24 4
gpt4 key购买 nike

我创建了 StorageService 类对象,如下

StorageService service=new StorageService();

当这条指令遇到以下异常时,就会抛出异常。

java.lang.RuntimeException: javax.management.InstanceAlreadyExistsException: org.apache.cassandra.db:type=StorageService
at org.apache.cassandra.service.StorageService.<init>(StorageService.java:233)
at com.exterro.edrm.restore.EmbeddedService.main(EmbeddedService.java:144)
Caused by: javax.management.InstanceAlreadyExistsException: org.apache.cassandra.db:type=StorageService
at com.sun.jmx.mbeanserver.Repository.addMBean(Repository.java:453)
at com.sun.jmx.interceptor.DefaultMBeanServerInterceptor.internal_addObject(DefaultMBeanServerInterceptor.java:1484)
at com.sun.jmx.interceptor.DefaultMBeanServerInterceptor.registerDynamicMBean(DefaultMBeanServerInterceptor.java:963)
at com.sun.jmx.interceptor.DefaultMBeanServerInterceptor.registerObject(DefaultMBeanServerInterceptor.java:917)
at com.sun.jmx.interceptor.DefaultMBeanServerInterceptor.registerMBean(DefaultMBeanServerInterceptor.java:312)
at com.sun.jmx.mbeanserver.JmxMBeanServer.registerMBean(JmxMBeanServer.java:482)
at org.apache.cassandra.service.StorageService.<init>(StorageService.java:229)
... 1 more

我应该添加或更改什么以避免此异常?

创建此 StorageService 类对象后,我必须调用 startRPCServer() 来启动 cassandra 服务,并注册 MBean 以在 Java 代码中以编程方式使用 nodetool 实用程序。

最佳答案

您是否尝试执行所有这些操作只是为了使用 JMX?如果是这样,那么你所做的就超出了你需要做的。以下是 Java 中的 JMX 客户端示例:http://docs.oracle.com/javase/1.5.0/docs/guide/jmx/examples/Basic/Client.java

如果您想做一些与nodetool相同的事情,我建议只需将代码的相关部分拉出来并将它们粘贴到您的应用程序中。无需在应用程序中运行 nodetool 本身。

关于java - 如何避免 Cassandra StorageService 类 InstanceAlreadyExistsException,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/12524195/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com