HazelCast配置生成很多成员



我正在尝试将 hazelcast 添加到我的项目中。 下面的配置生成了很多成员。 我需要的只是拖曳。

配置

<hz:hazelcast id="instance">
<hz:config>
<hz:group name="mass-storage-${env}" password="tomcat-${env}"></hz:group>
<hz:properties>
<hz:property name="hazelcast.merge.first.run.delay.seconds">5</hz:property>
<hz:property name="hazelcast.merge.next.run.delay.seconds">5</hz:property>
</hz:properties>
<hz:network port="${hazelcast.config-cluster.discovery-port}" port-auto-increment="false">
<hz:join>
<hz:multicast enabled="false"/>
<hz:tcp-ip>
<hz:member>${hazelcast.config-cluster.address-1}</hz:member>
<hz:member>${hazelcast.config-cluster.address-2}</hz:member>
</hz:tcp-ip>
</hz:join>
</hz:network>
<hz:map name="driveAccessTokensCache">
<hz:near-cache time-to-live-seconds="${drive.access.token.ttl.seconds}" max-idle-seconds="10" eviction-policy="LRU" invalidate-on-change="true" max-size="5000"/>
</hz:map>
<hz:map name="accessTokensCache">
<hz:near-cache time-to-live-seconds="${user.access.token.ttl.seconds}" max-idle-seconds="10" eviction-policy="LRU" invalidate-on-change="true" max-size="5000"/>
</hz:map>
</hz:config>
</hz:hazelcast>

这就是我得到的:

Members [2] {
Member [ecarbsul1680h11]:18934 this
Member [ecarbsul1550h11]:18934
}
03-Jun-2020 17:16:17.657 INFO [hz._hzInstance_2_dev.ServiceThread] com.hazelcast.cluster.ClusterManager.null [10.30.197.120]:5701 [dev]
Members [6] {
Member [10.30.197.223]:18934
Member [10.30.197.223]:5701
Member [10.30.197.226]:18934
Member [10.30.197.226]:5701
Member [10.30.197.120]:5701 this
Member [10.30.197.253]:5701
}

这就是我想要得到的:

Members [2] {
Member [ecarbsul1680h11]:18934 this
Member [ecarbsul1550h11]:18934
}

你能帮我知道我的配置有什么问题吗? 谢谢

XML 中的此行

<hz:hazelcast id="instance">

将指示 Spring 创建 1 个类型为"HazelcastInstance"的 @Bean,Bean 名称为"instance"。

如果使用此文件,您将看到提及群集名称mass-storage-${env}的日志消息。

您有日志消息

03-Jun-2020 17:16:17.657 INFO [hz._hzInstance_2_dev.ServiceThread] com.hazelcast.cluster.ClusterManager.null [10.30.197.120]:5701 [dev]

提及不同的群集名称(默认群集名称dev(。

因此,创建 Hazelcast 实例的任何内容都不会使用此 XML 文件,这就是为什么它的行为不符合您的要求。

尝试使用@ImportResource("classpath:hazelcast-spring.xml")让 Spring 加载 XML。

我也看到提到雄猫。如果您将 Tomcat 与 Hazelcast 一起使用进行会话缓存,Tomcat 将创建自己的 Hazelcast 实例,除非您告诉它使用现有实例。这可以解释额外的实例来自哪里。

最新更新