Java Hazelcast::仅为一台带有Spring的主机配置
现在,我正在与spring mvc和hazel cast合作 我的申请一切顺利 为了获得更好的性能,我们希望使用缓存方法 我们不能使用EhCache,因为我们在同一个服务器上有两个应用程序和一个数据库 所以,我们转向Hazelcast,我们已经配置好了,它正在工作 我们得到了我们想要的,但问题是hazelcast正在寻找其他服务器,其他服务器可以在缓存过程中加入我们的服务器 这就是问题所在 我们只希望对一台服务器使用hazelcast,并且没有传入请求和传出请求加入多播 我们只想在一台服务器上共享数据 但是我们找不到它的正确配置 我们当前的配置如下所示: 在Java配置中 在spring-application-context.xml中 缓存可以很好地处理上述代码,但它可以连接多个服务器 请帮助我仅为一台服务器配置,无外部连接Java Hazelcast::仅为一台带有Spring的主机配置,java,spring,spring-mvc,caching,hazelcast,Java,Spring,Spring Mvc,Caching,Hazelcast,现在,我正在与spring mvc和hazel cast合作 我的申请一切顺利 为了获得更好的性能,我们希望使用缓存方法 我们不能使用EhCache,因为我们在同一个服务器上有两个应用程序和一个数据库 所以,我们转向Hazelcast,我们已经配置好了,它正在工作 我们得到了我们想要的,但问题是hazelcast正在寻找其他服务器,其他服务器可以在缓存过程中加入我们的服务器 这就是问题所在 我们只希望对一台服务器使用hazelcast,并且没有传入请求和传出请求加入多播 我们只想在一台服务器上共
感谢默认情况下,多播是唯一启用的发现机制,因此关闭它应该是停止此服务器加入其他服务器所需的全部 在spring-application-context.xml中尝试 Java配置看起来也不错,但我不知道它在哪里使用
另外,作为证明,请将组名更改为除dev以外的其他名称。dev是默认名称,因此,如果您临时使用其他名称,并且在日志中看到新名称,您就知道正在使用您的配置。谢谢,我将进行测试,并询问您是否还有其他名称。我们只是使用java来阻止从其他人加入到其他人和我。我想,这是行不通的。我们将尽快更改组名。我无法启动第二个应用程序。它显示错误端口[5701]已在使用中,并且自动增量已禁用。Hazelcast无法启动。是针对同一服务器的不同应用程序的任何其他不同配置。thankshow可以防止将其他服务器加入到我们的服务器。关闭多播就足够了吗?我可以为集群设置最大成员数吗?您可以在hz:组部分中设置名称。只有具有匹配名称的进程才能连接在一起。然而,这不会对组中的人数设置上限,因为Hazelcast旨在实现可扩展性。
Config config = new Config("instance");
NetworkConfig network = config.getNetworkConfig();
JoinConfig join = network.getJoin();
join.getMulticastConfig().setEnabled(false);
join.getTcpIpConfig().setEnabled(false);
<cache:annotation-driven cache-manager="cacheManager" />
<bean id="cacheManager" class="com.hazelcast.spring.cache.HazelcastCacheManager">
<constructor-arg ref="instance"/>
</bean>
<hz:hazelcast id="instance">
<hz:config>
<hz:group name="dev" password="password"/>
</hz:config>
</hz:hazelcast>
<hz:hazelcast id="instance">
<hz:config>
<hz:group name="dev" password="password"/>
<hz:network port="5701" port-auto-increment="false">
<hz:join>
<hz:multicast enabled="false"/>
</hz:join>
</hz:network>
</hz:config>
</hz:hazelcast>