2016-11-11 56 views
0

我想使versioning在本地運行的Infinispan服務器複製緩存(8.2.4最終,兩名Infinispan的服務器形成集羣)。如何啓用版本控制?

這記錄在user guide中。

報價:

10.2.5。配置

默認版本將被禁用。

和用戶指南包含下面的代碼片段:

<versioning scheme="SIMPLE|NONE" /> 

我使用本地運行Infinispan的服務器上,配置是clustered.xml。

甲其片段:

<subsystem xmlns="urn:infinispan:server:core:8.2" default-cache-container="clustered"> 
     <cache-container name="clustered" default-cache="default" statistics="true"> 
      [...] 
      <replicated-cache name="demoCache" mode="ASYNC" > 
       <versioning scheme="SIMPLE"/> 
      </replicated-cache> 

因此,當我添加版本元件,啓動失敗,

所致:javax.xml.stream.XMLStreamException:ParseError在[行,列] :186,6]

消息:WFLYCTL0198:意外元素 '{甕:Infinispan的:服務器:核心:8.2}版本' 遇到

XML元素versioning確實存在於urn:infinispan:config:8.2中,但不存在於urn:infinispan:server:core:8.2(用於clustered.xml中)中。

urn:infinispan:config:8.2定義在infinispan-server-8.2.4.Final/docs/schema/infinispan-config-8.2.xsd

urn:infinispan:server:core:8.2定義infinispan-server-8.2.4.Final/docs/schema/jboss-infinispan-core_8_2.xsd

如何啓用(羣集識別)版本運行的Infinispan作爲一個單獨的時服務器?

回答

1

遠程使用Infinispan時,版本控制無意義,因爲版本控制純粹用於檢測具有可重複讀取事務的寫入偏斜情況,並且該功能在服務器模式下並不真正可用。

+0

我記錄了[ISPN-7202](https://issues.jboss.org/browse/ISPN-7202),以便將來服務器在這種情況下記錄警告而不是拋出錯誤。 –

+0

其實錯誤信息很好。我已經意識到,我正在閱讀Infinispan文檔,假設所有/大部分文檔都適用於Hotrod。因此,如果通過Hotrod使用版本控制並沒有意義,那麼請不要提供'replaceWithVersion()','getVersioned()','removeWithVersion()'等等(或者拋出一個異常 - 我認爲這已經是'values()') – Beryllium

+0

這是一個不同的「版本控制」。使用Hot Rod時,您實際上可以使用您列出的方法,但不涉及交易。 Hot Rod的用戶可以從明確的入門版本中受益(我使用這個很多,而且太棒了!) – Sanne