infinispan 作为二级缓存休眠
infinispan as second level cache hibernate
尝试将 infinispan 用作休眠的二级缓存,但总是出现以下错误
org.infinispan.jmx.JmxDomainConflictException: ISPN000034: There's
already a JMX MBean instance
type=CacheManager,name="DefaultCacheManager" already registered under
'org.infinispan' JMX domain. If you want to allow multiple instances
configured with same JMX domain enable 'allowDuplicateDomains'
attribute in 'globalJmxStatistics' config element at
org.infinispan.jmx.JmxUtil.buildJmxDomain(JmxUtil.java:51) at
org.infinispan.jmx.CacheManagerJmxRegistration.updateDomain(CacheManagerJmxRegistration.java:79)
这是休眠属性
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>
我有两个项目有两个数据源,一个用于审计,另一个是主 Web 项目。
并且异常中的 xml 值在 infinispan 7.2 及更高版本中不存在
在此先感谢您的帮助:)
将 <jmx duplicate-domains="true" />
添加到 <cache-container />
。
应更新错误消息。
作为替代解决方案,您可以根据需要尝试删除 xml 配置文件。我们也可以通过编程方式允许重复域。
GlobalConfiguration config = new GlobalConfigurationBuilder()
.globalJmxStatistics()
.allowDuplicateDomains(Boolean.TRUE)
.build();
EmbeddedCacheManager cacheManager = new DefaultCacheManager(config);
尝试将 infinispan 用作休眠的二级缓存,但总是出现以下错误
org.infinispan.jmx.JmxDomainConflictException: ISPN000034: There's already a JMX MBean instance type=CacheManager,name="DefaultCacheManager" already registered under 'org.infinispan' JMX domain. If you want to allow multiple instances configured with same JMX domain enable 'allowDuplicateDomains' attribute in 'globalJmxStatistics' config element at org.infinispan.jmx.JmxUtil.buildJmxDomain(JmxUtil.java:51) at org.infinispan.jmx.CacheManagerJmxRegistration.updateDomain(CacheManagerJmxRegistration.java:79)
这是休眠属性
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>
我有两个项目有两个数据源,一个用于审计,另一个是主 Web 项目。 并且异常中的 xml 值在 infinispan 7.2 及更高版本中不存在 在此先感谢您的帮助:)
将 <jmx duplicate-domains="true" />
添加到 <cache-container />
。
应更新错误消息。
作为替代解决方案,您可以根据需要尝试删除 xml 配置文件。我们也可以通过编程方式允许重复域。
GlobalConfiguration config = new GlobalConfigurationBuilder()
.globalJmxStatistics()
.allowDuplicateDomains(Boolean.TRUE)
.build();
EmbeddedCacheManager cacheManager = new DefaultCacheManager(config);