Java 所有服务器节点关闭后,Hazelcast 3.5客户端无法重新连接

Java 所有服务器节点关闭后,Hazelcast 3.5客户端无法重新连接,java,client,hazelcast,reconnect,Java,Client,Hazelcast,Reconnect,我想请你帮忙。我有一个问题,客户端重新连接到一个赫兹集群的情况下,整个集群下降,然后起来 如果HZ集群保持至少一个节点处于活动状态,则根本没有问题。但当所有节点都关闭时,相关的客户端将不再重新连接 以下是我的客户端初始化代码: public void init() { List<String> members = (List<String>)Arrays.asList("node1,node2,node3".split(",")); ClientConfig clien

我想请你帮忙。我有一个问题,客户端重新连接到一个赫兹集群的情况下,整个集群下降,然后起来

如果HZ集群保持至少一个节点处于活动状态,则根本没有问题。但当所有节点都关闭时,相关的客户端将不再重新连接

以下是我的客户端初始化代码:

public void init() {

List<String> members = (List<String>)Arrays.asList("node1,node2,node3".split(","));
ClientConfig clientConfig = new ClientConfig();
clientConfig.getGroupConfig().
             setName( "dev" ). 
             setPassword( "dev" );
clientConfig.getNetworkConfig().
             setConnectionAttemptLimit( 10 ).
             setConnectionAttemptPeriod( 100 ).
             setConnectionAttemptPeriod( 1000 ).
             setRedoOperation(true).
             setSmartRouting(true).
             setAddresses(members);
hzClient = HazelcastClient.newHazelcastClient(clientConfig);
hzSessionMap = hzClient.getMap("mapsession");  
}

public IMap getSessionMap() {
    return hzSessionMap;
}
在 com.hazelcast.nio.serialization.SerializationServiceImpl.handleException(SerializationServiceImpl.java:380)~[hazelcast-3.5.jar:3.5] 在com.hazelcast.nio.serialization.SerializationServiceImpl.toData(SerializationServiceImpl.java:235)~[hazelcast-3.5.jar:3.5] 在
com.hazelcast.nio.serialization.SerializationServiceImpl.toData(SerializationServiceImpl.java:207)~[hazelcast-3.5.jar:3.5] 在com.hazelcast.client.spi.ClientProxy.toData(ClientProxy.java:169)~[hazelcast-client-3.5.jar:3.5] 在com.hazelcast.client.proxy.ClientMapProxy.put(ClientMapProxy.java:362)~[hazelcast-client-3.5.jar:3.5]

问候,


Josef

我在HZ 3.5文档中发现了这一点:SetConnectionAtterLimit public ClientNetworkConfig SetConnectionAtterLimit(int-ConnectionAtterLimit)当客户端尝试最初连接到地址列表中的一个成员时,所有这些都可能不可用。它不会放弃、抛出异常并停止客户机,而是会尝试尽可能多的重试次数。如果我将其设置为零,可能会有所帮助吗?这有助于解决这个问题,但如果所有HZ节点都关闭,jboss服务器(我打赌其他任何服务器)都无法正常重启,必须将其杀死。日志中充满了关于尝试连接的HZ客户端通知…您找到解决方案了吗?我们遇到了同样的问题。正如我在上面写的。配置是成功的关键。此配置适用于我:clientConfig.getNetworkConfig()。设置连接尝试限制(300)。//5分钟设置连接试验期(100)。//100设置连接超时(1000)。//1000 SETREDO操作(真)。设置路由(true)。设置地址(成员列表);//地址列表唯一的问题是,在hazelcast节点关闭期间,HZ客户端的所有实例都在尝试重新连接,jboss有时无法正常关闭。较短的超时时间可能会有所帮助。我在HZ 3.5文档中发现了这一点:SetConnectionAtterLimit public ClientNetworkConfig SetConnectionAtterLimit(int-ConnectionAtterLimit)当客户端尝试最初连接到地址列表中的一个成员时,所有这些都可能不可用。它不会放弃、抛出异常并停止客户机,而是会尝试尽可能多的重试次数。如果我将其设置为零,可能会有所帮助吗?这有助于解决这个问题,但如果所有HZ节点都关闭,jboss服务器(我打赌其他任何服务器)都无法正常重启,必须将其杀死。日志中充满了关于尝试连接的HZ客户端通知…您找到解决方案了吗?我们遇到了同样的问题。正如我在上面写的。配置是成功的关键。此配置适用于我:clientConfig.getNetworkConfig()。设置连接尝试限制(300)。//5分钟设置连接试验期(100)。//100设置连接超时(1000)。//1000 SETREDO操作(真)。设置路由(true)。设置地址(成员列表);//地址列表唯一的问题是,在hazelcast节点关闭期间,HZ客户端的所有实例都在尝试重新连接,jboss有时无法正常关闭。缩短超时时间可能会有所帮助。
com.hazelcast.nio.serialization.HazelcastSerializationException: 
com.hazelcast.core.HazelcastInstanceNotActiveException: Hazelcast instance is not active!