2015-01-19 4 views
0

Я использую Infinispan 6.x, и у меня есть несколько файлов конфигурации XML. Теперь я хочу перейти на 7.x, но у меня есть исключения, когда новая версия пытается проанализировать старые файлы конфигурации. Вот мой конфигурационный файл:Перенос конфигурации Infinispan xml с 6.x на 7.x

<?xml version="1.0" encoding="UTF-8"?> 
<infinispan xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:schemaLocation="urn:infinispan:config:6.0 http://www.infinispan.org/schemas/infinispan-config-6.0.xsd"> 
    <global> 
    <globalJmxStatistics enabled="false" mBeanServerLookup="dz.lab.cache.infinispan.DummyMBeanServer$DummyLoockup" /> 
    </global> 
    <default>  
    <eviction strategy="NONE" /> 
    <expiration lifespan="-1" maxIdle="-1" /> 
    <clustering mode="local"> 
     <hash> 
     <groups enabled="true" /> 
     </hash> 
    </clustering> 
    <transaction transactionManagerLookupClass="org.infinispan.transaction.lookup.JBossStandaloneJTAManagerLookup" transactionMode="TRANSACTIONAL" lockingMode="OPTIMISTIC" /> 
    <invocationBatching enabled="true" /> 
    <locking supportsConcurrentUpdates="true" />  
    </default> 
</infinispan> 

и полный StackTrace:

org.infinispan.commons.CacheConfigurationException: javax.xml.stream.XMLStreamException: ParseError at [row,col]:[7,11] 
Message: Unexpected element 'global' encountered 
    at org.infinispan.configuration.parsing.ParseUtils.unexpectedElement(ParseUtils.java:35) 
    at org.infinispan.configuration.parsing.Parser70.readElement(Parser70.java:96) 
    at org.infinispan.configuration.parsing.ParserRegistry.parseElement(ParserRegistry.java:133) 
    at org.infinispan.configuration.parsing.ParserRegistry.parse(ParserRegistry.java:115) 
    at org.infinispan.configuration.parsing.ParserRegistry.parse(ParserRegistry.java:102) 
    at org.infinispan.configuration.parsing.ParserRegistry.parse(ParserRegistry.java:89) 
    ... 30 more 

Как перенести эту конфигурацию? Я не могу найти подсказки на official user guide.

ответ

1

Ваша конфигурация должна выглядеть следующим образом:

<?xml version="1.0" encoding="UTF-8"?> 
<infinispan 
     xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" 
     xsi:schemaLocation="urn:infinispan:config:7.0 http://www.infinispan.org/schemas/infinispan-config-7.0.xsd" 
     xmlns="urn:infinispan:config:7.0"> 
    <cache-container name="default" default-cache="defaultCache"> 
     <serialization /> 
     <jmx> 
      <property name="enabled">true</property> 
     </jmx> 
     <local-cache name="defaultCache"> 
      ... 
     </local-cache> 
    </cache-container> 
</infinispan> 

Смотрите схему для всей сделки, изоляции, выселении и т.д. элементы - те, очень похожи.

+0

для кластеризации мне нужно добавить это в контейнер кэша сразу после объявления локального кэша '<распределенный кеш-имя =" defaultCache ">' – bachr

+0

Похоже, boolean 'supportConcurrentUpdates' в' locking' заменяется на 'concurrency-level', который указывает количество потоков !! – bachr

+0

Не совсем. Параллельные обновления (по одному ключу) всегда включены (вы можете проверить программную конфигурацию, которая выдает предупреждение при попытке установить). С другой стороны, уровень параллелизма просто пропускает ожидаемое количество одновременных обновлений * по всем ключам * к основным хэш-картам, для точной настройки производительности. –

3

Руководство по обновлению может быть найдено here. Обновите xml schema to 7.0 (или 7.1) и заново создайте конфигурацию. global Элемент xml теперь называется cache-container, здесь example.

+0

похоже, что они переименовали многие вещи, у меня есть аналогичная проблема с '' !! – bachr

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