配置Infinispan Hot Rod Client的最大重试次数

时间:2015-05-04 06:54:49

标签: java-ee caching jboss6.x infinispan jboss-eap-6

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

如果由于某种原因无法访问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以外的任何值?

1 个答案:

答案 0 :(得分:2)

这应该有效:

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