Hazelcast:无法激活集群连接

问题描述 投票:0回答:0

我有一个 spring-boot 微服务使用 hazelcast、hazelcast-client 和 hazelcast-spring 3.6 版本连接到 hazelcast。我能够在 java 8 上连接,但是一旦迁移到 java 17 并且没有其他代码更改就开始出现错误:thread="hz.client_0_obj-cartmap.cluster-listener" category="com.hazelcast.client.spi.ClientClusterService “无法获得活跃的集群连接,在 8128 毫秒后尝试,尝试 1000 次中的 1 次。Cluser 看起来不错,在 http://obj1.cartmp.intqa102.syseng.tmcs:5701/hazelcast/rest/cluster

上得到响应
  
  private static final Logger log = LoggerFactory.getLogger(CartMappingHazelcastConfig.class);
  
  @Value("${cart.mapping.cache.local.instanceName}")
  private String localInstanceName;
  
  @Value("${cart.mapping.cache.common.groupName}")
  private String groupName;
  
  @Autowired
  HazelcastConfigProperties hazelcastConfigProperties;
  
  @Bean
  public CartIdBuilderFactory cartIdBuilderFactory() {
      return new CartIdBuilderFactory(this.localInstanceName);
  }
  
  @Bean
  public Serializer cartMappingSerializer() {
      return new CartMappingKryoSerializer();
  }
  
  @Bean
  public Map<String, ClientConfig> hazelCastClientConfigs() {
    Map<String, ClientConfig> clientConfigsMap = new HashMap<>();
  
    hazelcastConfigProperties.getConfigs().stream()
      .forEach(cacheProperties -> {
        clientConfigsMap.put(cacheProperties.getName(), makeClientConfig(cacheProperties));
      });
  
    return clientConfigsMap;
  }
  
  @Bean
  public Map<String, HazelcastInstance> hazelCastInstances() {
      return this.hazelCastClientConfigs().keySet()
              .stream()
              .collect(Collectors.toMap(k->k, k -> HazelcastClient.newHazelcastClient(hazelCastClientConfigs().get(k))));
  
  }
  
  @Bean
  public Map<String, CacheManager> registeredCacheManagers() {
      return this.hazelCastInstances().keySet()
              .stream()
              .collect(Collectors.toMap(k->k, k -> new HazelcastCacheManager(this.hazelCastInstances().get(k))));
  
  }
  
  @Bean
  public CartMappingCacheManager cartMappingCacheManager() {
      return new HazelcastCartCacheManager(this.registeredCacheManagers(), this.localInstanceName, CartContentsProvider.COMMERCE_API_PROVIDER_ID, cartIdBuilderFactory());
  }
  
  private ClientConfig makeClientConfig(CacheConfigProperty cacheConfigProperty) {
      ClientConfig config = new ClientConfig();
  
      config.getGroupConfig().setName("obj-cartmap").setPassword(cacheConfigProperty.getPassword());
      config.getNetworkConfig()
              .setConnectionAttemptLimit(1000)
              .setSmartRouting(true)
              .setRedoOperation(true)
              .setConnectionTimeout(5000)
              .setConnectionAttemptPeriod(10000);
  
      config.getNetworkConfig().addAddress("obj1.cartmp.intqa102.syseng.tmcs");
  
      config.getSerializationConfig()
        .addSerializerConfig(new SerializerConfig()
                               .setTypeClass(CartMapping.class)
                               .setImplementation(cartMappingSerializer()));
  
      return config;
  }```

Any suggestion? 
java hazelcast hazelcast-cloud
© www.soinside.com 2019 - 2024. All rights reserved.