然后前面一篇日志的评论里面网友@吴勇智提到了hazelcast。所以也来试试。结果出奇的顺利。记录一下过程。
1.
下载、运行hazelcast
下载后随便解压,其实直接执行bin/server.bat即可。但是为了能够眼见为实,于是首先把包中的mancenter.war找了个tomcat部署起来,然后修改bin/hazelcast.xml,把management-center打开。并指向刚部署的mancenter访问路径。然后再启动hazelcast服务:bin/server.bat。
2.hibernate二级缓存和查询缓存
我用spring结合hibernate使用,但是没有用jpa。最后配置如下:
1
2 class="org.springframework.orm.hibernate3.annotation.AnnotationSessionFactoryBean">
3
5
6
7
8 com.my.**.model
9
10
11
12
13 ${hibernate.dialect}
14 ${hibernate.show_sql}
15 ${hibernate.jdbc.fetch_size}
16 ${hibernate.jdbc.batch_size}
17 ${hibernate.hbm2ddl.auto}
18 ${hibernate.cache.use_second_level_cache}
19 ${hibernate.cache.use_query_cache}
20 ${hibernate.validator.autoregister_listeners}
21
${hibernate.validator.apply_to_ddl}
22 ${javax.persistence.validation.mode}
23
24 ${hibernate.cache.region.factory_class}
25 ${hibernate.cache.use_minimal_puts}
26 ${hibernate.cache.hazelcast.use_native_client}
27 ${hibernate.cache.hazelcast.native_client_address}
28 ${hibernate.cache.hazelcast.native_client_group}
29 ${hibernate.cache.hazelcast.native_client_password}
30
31
32
然后是properties配置文件:
1 hibernate.dialect=org.hibernate.dialect.MySQL5InnoDBDialect
2 hibernate.show_sql=true
3 hibernate.jdbc.fetch_size=25
4 hibernate.jdbc.batch_size=30
5 hibernate.hbm2ddl.auto=update
6 hibernate.cache.region.factory_class=com.hazelcast.hibernate.HazelcastCacheRegionFactory
7 hibernate.cache.use_query_cache=true
8 hibernate.cache.use_second_level_cache=true
9 www.2cto.com
10 hibernate.validator.autoregister_listeners=false
11 hibernate.validator.apply_to_ddl=false
12 javax.persistence.validation.mode=none
13
14 hibernate.cache.use_minimal_puts=true
15 hibernate.cache.hazelcast.use_native_client=true
16 hibernate.cache.hazelcast.native_client_address=localhost
17 hibernate.cache.hazelcast.native_client_group=dev
18 hibernate.cache.hazelcast.native_client_password=dev-pass
然后就OK了。