2013-05-31 33 views
0

我正在使用Infinispan L2緩存,並且我有兩個應用程序節點。這兩個應用程序不相同,目前我正在使用以下配置。如何在Infinispan L2緩存中允許重複的doamins時使用不同的JMX域名

<global> 
<globalJmxStatistics enabled="true" cacheManagerName="H2L" jmxDomain="org.infinispan" allowDuplicateDomains="true"/> 
--------- 
--------- 
</global> 

生成的MBean是org.infinispan和org.infinspan1。我需要使用自定義名稱重新命名它們,例如:MerchantResponderBMA

我使用的是Tomcat 6,Hibernate 4和Spring 3.5。我試圖通過使用下面的代碼編程設置全局配置,但我無法做我所期望的。

GlobalConfiguration glob = new GlobalConfigurationBuilder() 

     .nonClusteredDefault().globalJmxStatistics().enable() 

     .jmxDomain("MerchantResponder") 

     .build(); 

我不想創建新的JMX Doamins,我只需要重命名已經創建的域。

+0

您不能以編程方式配置Hibernate 2LC緩存。這完全是關於通過infinsipan config屬性傳遞的配置文件中的設置。通常情況下,您應該將每個配置設置爲具有不同的cacheManagerName,但只需爲每個配置分配一個不同的jmxDomain值即可。啓用TRACE日誌記錄或掛接調試器以查看真正使用的內容。 org.infinispan.jmx.CacheManagerJmxRegistration是你想要調試的類。 –

回答

0

我沒有rept評論你的答案。不要Infinispan有編輯方式編輯infinispan.xml的方法嗎?我認爲Infinispan有一種編程方式來編輯XMl文件。如果是這樣,應該能夠以編程方式更改JMX域。謝謝

+0

我不相信infinispan有辦法以編程方式編輯正在運行的緩存的配置,除非您計算JMX控制檯,它非常有限,您可以執行的操作(我不計算它)。但是,您可以以編程方式定義緩存的配置,然後啓動它。 –

+0

暗影我與你同在。我不認爲有可能以編程方式更改正在運行的緩存配置。我認爲應該可以通過編程方式將配置文件作爲緩存配置生成器的參數,然後覆蓋,添加,編輯配置,然後啓動緩存。 – era

相關問題