为 Infinispan Hot Rod 客户端配置最大重试次数

Configure max retries for Infinispan Hot Rod Client

我正在使用 JBoss EAP 6.3 应用服务器与 JDG 6.3.1(带有 Infinispan 6.1.2),两个实例 运行 在同一个虚拟机和连接协议上是热棒。

如果出于某种原因无法访问 JDG,我希望 EAP 上的 EJB 应用程序中使用的 Hot Rod 客户端捕获 HotRodClientException 并直接继续进行数据库调用。 这工作正常,但 RemoteCacheManager 中的重试计数设置为 10,因此在重试 10 次后连接最终失败后我需要花费很多时间才能继续。

查看所涉及的 类,我无法找到一种方法来配置 Hot Rod 连接的最大重试次数。我发现的唯一一件事是使用 ConfigurationBuilder.withProperties(Properties),但有人提到这是为了从旧版本的 Inifinispan 迁移,其中属性对象用于配置。 我尝试了以下代码,但它也未能将 rety 计数设置为 1:

Properties jdgProperties = new Properties();
jdgProperties.put("infinispan.client.hotrod.server_list", host + ":" + hotrodPort);
jdgProperties.put("infinispan.client.hotrod.max_retries", "1");
Configuration jdgConfWithProperties = builder.withProperties(jdgProperties).build();

如何将重试次数配置为默认值 10 以外的值?

这应该有效:

Configuration configuration = new ConfigurationBuilder().maxRetries(2).build();
RemoteCacheManager remoteCacheManager = new RemoteCacheManager(configuration);