关键字: 分布式
打开查询缓存的支持
<property name="hibernate.cache.use_query_cache">true</property>
配置
<class-cache class="com.foo.YourCacheEntity" usage="nonstrict-read-write" region="cache.region"/>
关于最后一行配置的说明,因为SwarmCache不支持严格的读写缓存,所以要配置成nonstrict-read-write,各个缓存之间需要用名字隔离,如cache.region。
重新启动Tomcat后,SwarmCache中的组播服务启动:
-------------------------------------------------------
GMS: address is pysh:1967
-------------------------------------------------------
如果另外一个也作了同样配置的web启动,他们之间通过组播消息可以相互通知:
2006-09-19 17:49:06 INFO JavaGroupsCommunicator:76 - A host has joined the cache notification bus: pysh:1967
测试应用:
在机器A上,通过Hibernate对Entity做了修改,机器B得知缓存Entity已经无效,机器B会remove此缓存,重新从数据库里加载。