Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/java/332.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181

Warning: file_get_contents(/data/phpspider/zhask/data//catemap/1/ms-access/4.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Java HazelCast性能测试,弹簧批抛出TargetDisconnectedException_Java_Hazelcast - Fatal编程技术网

Java HazelCast性能测试,弹簧批抛出TargetDisconnectedException

Java HazelCast性能测试,弹簧批抛出TargetDisconnectedException,java,hazelcast,Java,Hazelcast,我有一个HazelCast服务器设置,有2个节点,服务器一直运行正常,从未出现任何问题。我的客户机来自多个spring批处理实例,每个spring批处理有120个线程,还有5个spring批处理实例,这意味着可能有大约120*5=600个线程试图访问IMap以设置/获取值 当我开始批处理的3个实例时,在IMap中设置值所花费的时间超过了50秒,并缓慢地引发以下异常: com.hazelcast.spi.exception.TargetDisconnectedException 位于com.haz

我有一个HazelCast服务器设置,有2个节点,服务器一直运行正常,从未出现任何问题。我的客户机来自多个spring批处理实例,每个spring批处理有120个线程,还有5个spring批处理实例,这意味着可能有大约120*5=600个线程试图访问IMap以设置/获取值

当我开始批处理的3个实例时,在IMap中设置值所花费的时间超过了50秒,并缓慢地引发以下异常:

com.hazelcast.spi.exception.TargetDisconnectedException
位于com.hazelcast.client.spi.impl.ClientCallFuture.get(ClientCallFuture.java:128)
位于com.hazelcast.client.spi.impl.ClientCallFuture.get(ClientCallFuture.java:111)
位于com.hazelcast.client.spi.ClientProxy.invoke(ClientProxy.java:110)
位于com.hazelcast.client.proxy.ClientMapProxy.set(ClientMapProxy.java:380)
在com.ebay.app.raptor.dfmailbat.components.cache.client.processor.CacheClient.setDealsResponseInCache(CacheClient.java:101)上
在com.ebay.app.raptor.dfmailbat.components.deal.finder.service.manager.DealFinderManager.getDeals(DealFinderManager.java:59)
每个Spring都有一个IMap静态实例,并使用同一个实例来设置/获取值。大概是这样的:

static {
        ClientConfig clientConfig = new ClientConfig();

        List<String> addresses = getClusterAddresses();

        if (addresses != null) {
            clientConfig.getNetworkConfig().setAddresses(addresses);
            s_client = HazelcastClient.newHazelcastClient(clientConfig);
        }
        else {
            s_logger.log(LogLevel.ERROR, "No host in Database for hazelcast client set up");
        }

        if (s_client != null) {
            s_map = s_client.getMap("ItemDealsMap");
        }

    }
静态{
ClientConfig ClientConfig=new ClientConfig();
列表地址=getClusterAddresses();
如果(地址!=null){
clientConfig.getNetworkConfig().setAddresses(地址);
s_client=HazelcastClient.newHazelcastClient(clientConfig);
}
否则{
s_logger.log(LogLevel.ERROR,“hazelcast客户端设置的数据库中没有主机”);
}
如果(s_客户端!=null){
s_map=s_client.getMap(“itemdalsmap”);
}
}

所有线程都使用s_映射从IMap设置/获取条目。在IMap中设置条目时,我将逐出时间设置为12小时。我正在服务器和客户端上使用HazelCast 3.3。当并发线程的数量增加时,此问题始终是可重复的。当我关闭spring批处理并重新启动时,它运行良好。你能帮我一下吗。

我发现这是因为hazelcast服务器在JVM挂起时重新启动了。服务器重新启动后,一切恢复正常。