如何获取节点上正在运行的hazelcast实例

如何获取节点上正在运行的hazelcast实例,hazelcast,Hazelcast,我在不同的节点上运行许多具有不同组名(即不同集群)的hazelcast实例。现在我想制作一个在给定节点上运行的程序,需要知道哪个HazelcastInstance在这个节点上运行,并访问它的配置文件。我不希望此程序创建任何新的hazelcast实例。如何做到这一点?这取决于具体情况 如果您知道Hazelcast.getHazelcastInstanceByName名称,则始终可以使用Hazelcast.getHazelcastInstanceByName查找HazelcastInstance,或

我在不同的节点上运行许多具有不同组名(即不同集群)的hazelcast实例。现在我想制作一个在给定节点上运行的程序,需要知道哪个HazelcastInstance在这个节点上运行,并访问它的配置文件。我不希望此程序创建任何新的hazelcast实例。如何做到这一点?

这取决于具体情况

如果您知道Hazelcast.getHazelcastInstanceByName名称,则始终可以使用Hazelcast.getHazelcastInstanceByName查找HazelcastInstance,或者使用getAllHazelcastInstances获取所有HazelCastInstances

在某些情况下,您希望在反序列化后获取HazelcastInstance(例如,您使用iexecutor向hz实例发送任务)。在这种情况下,您可以实现HazelcastInstanceAware接口来注入实例

所以这取决于你的设置


可以使用HazelcastInstance.getConfig加载的配置对象。该实例不知道配置是使用xml文件创建的,还是通过编程创建的

先生,我尝试过getAllHazelcastInstances,但它显示没有实例运行,即set size为0。这可能是类加载问题。您确定在特定的JVM HazelcastInstance上正在运行吗?如果没有运行,您将看不到任何。