2016-11-11 8 views
0

Я хотел бы включить versioning для реплицированного кеша на локально запущенном сервере Infinispan (8.2.4 final, два сервера 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()' и т. Д. (Или выбрасывать исключение - я думаю, что это уже case with 'values ​​()') – Beryllium

+0

Это другое «управление версиями». При использовании Hot Rod вы фактически можете использовать перечисленные вами методы, но они не относятся к транзакциям. Пользователи Hot Rod могут использовать явные входные версии (я использую это довольно много, и это здорово!) – Sanne

 Смежные вопросы

  • Нет связанных вопросов^_^