在端口 5710,5711,5712,5713 上的本地主机 hazelcast 中创建了 3 个节点(hazelcast 版本 3.1.3)
3 node are created in localhost hazelcast on port 5710,5711,5712,5713 (hazelcast version 3.1.3)
您好,我目前正在使用默认配置版本和 运行 spring+JPA+Hibernate+Hazelcast 作为二级缓存。
在我的一台服务器上创建了多个 hazelcast 节点,下面是我的配置
<group>
<name>user-dev</name>
<password>user-dev-pass</password>
</group>
<property name="hibernate.cache.hazelcast.instance_name">SERVER1_HAZELCAST</property>
<management-center enabled="true">http://localhost:8080/mancenter-3.1.8</management-center>
<network>
<port auto-increment="true" port-count="100">5711</port>
<outbound-ports>
<!--
Allowed port range when connecting to other nodes.
0 or * means use system provided port.
-->
<ports>0</ports>
</outbound-ports>
<join>
<multicast enabled="false">
<multicast-group>224.2.2.3</multicast-group>
<multicast-port>54320</multicast-port>
</multicast>
<tcp-ip enabled="true">
<interface>127.0.0.1:5710</interface>
</tcp-ip>
</join>
<interfaces enabled="false">
<interface>10.10.1.*</interface>
</interfaces>
<ssl enabled="false" />
<socket-interceptor enabled="false" />
Below are the logs:
Members [4] {
Member [127.0.0.1]:5710 this
Member [127.0.0.1]:5711
Member [127.0.0.1]:5712
Member [127.0.0.1]:5713
}
16:37:25,555 INFO [com.hazelcast.cluster.ClusterService] (hz.WS-DBCacheInstance.cached.thread-7) [127.0.0.1]:5711 [user-dev]
Members [4] {
Member [127.0.0.1]:5710
Member [127.0.0.1]:5711 this
Member [127.0.0.1]:5712
Member [127.0.0.1]:5713
}
谁能帮我解决这个问题
编辑添加的代码:--
@Configuration
public class HazelcastConfig {
private static final String INSTANCE_NAME = "mycache";
private static final String HAZELCAST_CONFIG_XML = "hazelcast.xml";
@Bean
public HazelcastInstance hazelcastInstance() {
HazelcastInstance instance = Hazelcast.getHazelcastInstanceByName(INSTANCE_NAME);
if (instance == null) {
Config config = new ClasspathXmlConfig(HAZELCAST_CONFIG_XML);
config.setInstanceName(INSTANCE_NAME);
config.setProperty("hazelcast.logging.type", "none");
instance = Hazelcast.newHazelcastInstance(config);
}
return instance;
}
@Bean
public HazelcastCacheManager cacheManager(HazelcastInstance hazelcastInstance) {
return new HazelcastCacheManager(hazelcastInstance);
}
好的,让我尝试重新表述您的问题,希望我没答错。您想使用 Hazelcast(普通)和 Hazelcast Hibernate 集成吗?您的 Hibernate 配置和您自己创建的 Hazelcast 实例必须具有相同的名称。或者,您可以将 Hibernate 集成配置为 Hazelcast 客户端以连接到您的集群。
https://github.com/hazelcast/hazelcast-hibernate#setting-client-server-for-hibernate
http://docs.hazelcast.org/docs/3.8/javadoc/com/hazelcast/core/Hazelcast.html#getHazelcastInstanceByName-java.lang.String-
您好,我目前正在使用默认配置版本和 运行 spring+JPA+Hibernate+Hazelcast 作为二级缓存。 在我的一台服务器上创建了多个 hazelcast 节点,下面是我的配置
<group>
<name>user-dev</name>
<password>user-dev-pass</password>
</group>
<property name="hibernate.cache.hazelcast.instance_name">SERVER1_HAZELCAST</property>
<management-center enabled="true">http://localhost:8080/mancenter-3.1.8</management-center>
<network>
<port auto-increment="true" port-count="100">5711</port>
<outbound-ports>
<!--
Allowed port range when connecting to other nodes.
0 or * means use system provided port.
-->
<ports>0</ports>
</outbound-ports>
<join>
<multicast enabled="false">
<multicast-group>224.2.2.3</multicast-group>
<multicast-port>54320</multicast-port>
</multicast>
<tcp-ip enabled="true">
<interface>127.0.0.1:5710</interface>
</tcp-ip>
</join>
<interfaces enabled="false">
<interface>10.10.1.*</interface>
</interfaces>
<ssl enabled="false" />
<socket-interceptor enabled="false" />
Below are the logs:
Members [4] {
Member [127.0.0.1]:5710 this
Member [127.0.0.1]:5711
Member [127.0.0.1]:5712
Member [127.0.0.1]:5713
}
16:37:25,555 INFO [com.hazelcast.cluster.ClusterService] (hz.WS-DBCacheInstance.cached.thread-7) [127.0.0.1]:5711 [user-dev]
Members [4] {
Member [127.0.0.1]:5710
Member [127.0.0.1]:5711 this
Member [127.0.0.1]:5712
Member [127.0.0.1]:5713
}
谁能帮我解决这个问题
编辑添加的代码:--
@Configuration
public class HazelcastConfig {
private static final String INSTANCE_NAME = "mycache";
private static final String HAZELCAST_CONFIG_XML = "hazelcast.xml";
@Bean
public HazelcastInstance hazelcastInstance() {
HazelcastInstance instance = Hazelcast.getHazelcastInstanceByName(INSTANCE_NAME);
if (instance == null) {
Config config = new ClasspathXmlConfig(HAZELCAST_CONFIG_XML);
config.setInstanceName(INSTANCE_NAME);
config.setProperty("hazelcast.logging.type", "none");
instance = Hazelcast.newHazelcastInstance(config);
}
return instance;
}
@Bean
public HazelcastCacheManager cacheManager(HazelcastInstance hazelcastInstance) {
return new HazelcastCacheManager(hazelcastInstance);
}
好的,让我尝试重新表述您的问题,希望我没答错。您想使用 Hazelcast(普通)和 Hazelcast Hibernate 集成吗?您的 Hibernate 配置和您自己创建的 Hazelcast 实例必须具有相同的名称。或者,您可以将 Hibernate 集成配置为 Hazelcast 客户端以连接到您的集群。
https://github.com/hazelcast/hazelcast-hibernate#setting-client-server-for-hibernate http://docs.hazelcast.org/docs/3.8/javadoc/com/hazelcast/core/Hazelcast.html#getHazelcastInstanceByName-java.lang.String-