我想使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作爲一個單獨的時服務器?
我記錄了[ISPN-7202](https://issues.jboss.org/browse/ISPN-7202),以便將來服務器在這種情況下記錄警告而不是拋出錯誤。 –
其實錯誤信息很好。我已經意識到,我正在閱讀Infinispan文檔,假設所有/大部分文檔都適用於Hotrod。因此,如果通過Hotrod使用版本控制並沒有意義,那麼請不要提供'replaceWithVersion()','getVersioned()','removeWithVersion()'等等(或者拋出一個異常 - 我認爲這已經是'values()') – Beryllium
這是一個不同的「版本控制」。使用Hot Rod時,您實際上可以使用您列出的方法,但不涉及交易。 Hot Rod的用戶可以從明確的入門版本中受益(我使用這個很多,而且太棒了!) – Sanne