2016-05-18 1 views
3

Попытка использовать infinispan в качестве кэш-памяти второго уровня для спящего режима, но всегда дает мне следующую ошибкуinfinispan в качестве кэш-памяти второго уровня в спящий режим

org.infinispan.jmx.JmxDomainConflictException: ISPN000034: Там уже экземпляр JMX MBean type = CacheManager, name = "DefaultCacheManager", уже зарегистрированный под доменом 'org.infinispan' JMX. Если вы хотите, чтобы несколько экземпляров сконфигурировано с таким же доменом JMX позволяют «allowDuplicateDomains» атрибут в конфигурации элемента «globalJmxStatistics» на org.infinispan.jmx.JmxUtil.buildJmxDomain (JmxUtil.java:51) в org.infinispan.jmx .CacheManagerJmxRegistration.updateDomain (CacheManagerJmxRegistration.java:79)

и вот свойства Hibernate

setProperty("hibernate.cache.use_second_level_cache", "true"); 
      setProperty("hibernate.cache.use_query_cache", "true"); 
      setProperty("hibernate.cache.region.factory_class", 
      "org.hibernate.cache.infinispan.InfinispanRegionFactory"); 
      setProperty("hibernate.cache.infinispan.statistics", "false"); 
      setProperty("hibernate.cache.infinispan.cfg", "infinispan-config.xml"); 

infinispan конфигурационный файл

<?xml version="1.0" encoding="UTF-8"?> 
    <infinispan xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" 
    xmlns="urn:infinispan:config:7.2" 
    xsi:schemaLocation="urn:infinispan:config:7.2 
         http://www.infinispan.org/schemas/infinispan-config-7.2.xsd 
         urn:infinispan:config:store:jdbc:7.2 
         http://www.infinispan.org/schemas/infinispan-cachestore-jpa-config-7.2.xsd"> 

    <cache-container default-cache="default" statistics="false"> 
    <local-cache name="simpleCache" statistics="false"> 
    </local-cache> 

    </cache-container> 
</infinispan> 

У меня есть два проекта с двумя источниками данных, один для аудита, а другой - основной веб-проект. и значение XML-то есть в исключении не существует в infinispan версии 7.2 вперед заранее спасибо за любую помощь :)

ответ

7

Добавить <jmx duplicate-domains="true" /> в <cache-container />.

Сообщение об ошибке должно быть обновлено.

+0

Работал отлично, большое спасибо :), но разве это не просто работа вокруг основной проблемы, которая несколько раз создает домен JMX? –

+1

Зависит от вашей настройки и того, как вы используете JMX. Вы можете установить '' для просмотра их в разных доменах. –

+0

Думаю, мне нужно больше погрузиться в документацию infinispan, чтобы понять правильную конфигурацию JMX, но в соответствии с ними значения по умолчанию должны работать без проблем :(, но похоже, что это не так. –

1

В качестве альтернативного решения, в котором вы пытаетесь избавиться от файлов конфигурации xml, если это необходимо. Мы также можем программно разрешать дублирование доменов.

GlobalConfiguration config = new GlobalConfigurationBuilder() 
           .globalJmxStatistics() 
           .allowDuplicateDomains(Boolean.TRUE) 
           .build(); 
EmbeddedCacheManager cacheManager = new DefaultCacheManager(config); 
Смежные вопросы