2015-05-04 50 views
0

我正在將JBoss EAP 6.3應用程序服務器與JDG 6.3.1(使用Infinispan 6.1.2)結合使用,兩個實例在同一個虛擬機上運行且連接協議爲熱竿。爲Infinispan Hot Rod Client配置最大重試次數

如果因爲某種原因無法訪問JDG我希望EAP上的EJB應用程序中使用的Hot Rod Client捕獲HotRodClientException並直接繼續進行數據庫調用。 這可以正常工作,但RemoteCacheManager中的重試計數設置爲10,因此在重試10次後連接最終失敗後,我可以繼續操作需要很長時間。

看着涉及的類,我無法找到一種方法來配置熱棒連接的最大重試計數。我發現的唯一的東西是使用ConfigurationBuilder.withProperties(Properties),但它提到這是從舊版本Inifinispan遷移其中用於配置的屬性對象。 我嘗試下面的代碼,但它也未能在設定勒蒂數爲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的默認值?

回答

2

這應該工作:

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

聽起來是個好主意,但我使用熱棒Client訪問JDG在客戶端 - 服務器模式和'org.infinispan.client.hotrod.configuration .ConfigurationBuilder'沒有方法maxRetries。 – devrys

+0

@devrys你確定你正在使用6.3.1 hotrod客戶端嗎? –

+0

infinispan-bom的Maven導入版本是6.0.2.Final,從此我得到神器'infinispan-client-hotrod',版本6.0.2.Final也。 切換到infinispan-bom版本7.0.3.Final現在生成一個具有'maxRetries'方法的ConfigurationBuilder,但是現在使用它會引發一個java.lang.NoSuchMethodError:org.infinispan.client.hotrod.configuration.ConfigurationBuilder.maxRetries( I)Lorg/infinispan/client/hotrod/configuration/ConfigurationBuilder;' – devrys

相關問題