Hazelcast Hibernate二级缓存配置
我正在尝试使用Hazelcast作为Hibernate的二级缓存。我不确定在哪里指定缓存配置。我已将以下内容添加到我的Hazelcast XML中:Hazelcast Hibernate二级缓存配置,hibernate,configuration,hazelcast,second-level-cache,Hibernate,Configuration,Hazelcast,Second Level Cache,我正在尝试使用Hazelcast作为Hibernate的二级缓存。我不确定在哪里指定缓存配置。我已将以下内容添加到我的Hazelcast XML中: <map name="com.blah.entity.*"> <backup-count>1</backup-count> <time-to-live-seconds>3600</time-to-live-seconds> <max-idle-seconds&
<map name="com.blah.entity.*">
<backup-count>1</backup-count>
<time-to-live-seconds>3600</time-to-live-seconds>
<max-idle-seconds>600</max-idle-seconds>
<eviction-policy>LRU</eviction-policy>
<max-size policy="PER_NODE">5</max-size>
<eviction-percentage>25</eviction-percentage>
<near-cache>
<max-size>5</max-size>
<time-to-live-seconds>3600</time-to-live-seconds>
<max-idle-seconds>600</max-idle-seconds>
<eviction-policy>LRU</eviction-policy>
<invalidate-on-change>true</invalidate-on-change>
</near-cache>
</map>
我是在配置中做错了什么,还是误读了JMX数据
编辑
为了澄清任何困惑,下面说:
Hazelcast为每个Hibernate缓存创建单独的分布式映射
区域因此,可以通过Hazelcast地图轻松配置这些区域
配置您可以定义备份、逐出、TTL和近缓存
财产
我想在映射上为实体的缓存区域设置最大大小属性,因为我不希望缓存无限扩展。在Hibernate配置中使用以下属性指定配置路径
Hibernate.cache.hazelcast.configuration\u file\u path
配置是正确的,但是Hazelcast 3.2.1-3.2.4中有一个错误
问题在于映射名称中的通配符:
如果我为映射使用完全限定的名称,例如com.blah.entity.User
,则映射配置被正确拾取。我使用JMX验证了映射配置是否正确应用于缓存
我已经得到保证,这个问题将在Hazelcast 3.3中得到解决,我已经这样做了。我的问题是关于如何在Hibernate中配置缓存的参数(例如,最大大小)。您在hazelcast.xml文件中配置这些值,而不是在Hibernate配置中配置,或者我再次误解了这个问题。我知道如何在Hibernate中指定hazelcast配置。我可以使用JMX查看我的配置是否已加载(请参阅原始文章)。我想知道的是如何编辑hazelcast配置XML来优化Hibernate缓存参数。什么参数?您不能在Hazelcast配置中设置Hibernate配置。对不起,我不明白你到底想做什么。你有想要设置的配置属性的例子吗?我的原始帖子提供了一个我想要设置的例子。正如“Hazelcast为每个Hibernate缓存区域创建一个单独的分布式映射。因此,可以通过Hazelcast映射配置轻松配置这些区域。您可以定义备份、逐出、TTL和近缓存属性。”我正试图为每个Hibernate缓存区域设置这些映射属性。
MapConfig{name='com.blah.entity.*',
inMemoryFormat=BINARY',
backupCount=1,
asyncBackupCount=0,
timeToLiveSeconds=3600,
maxIdleSeconds=600,
evictionPolicy='LRU',
evictionPercentage=25,
maxSizeConfig=MaxSizeConfig{maxSizePolicy='PER_NODE',
size=5},
readBackupData=false,
nearCacheConfig=NearCacheConfig{timeToLiveSeconds=3600,
maxSize=5,
evictionPolicy='LRU',
maxIdleSeconds=600,
invalidateOnChange=true,
inMemoryFormat=BINARY,
cacheLocalEntries=false},
mapStoreConfig=null,
mergePolicyConfig='com.hazelcast.map.merge.PutIfAbsentMapMergePolicy',
wanReplicationRef=null,
listenerConfigs=[],
mapIndexConfigs=[]}