【Hazelcast作为hibernate缓存和业务缓存】

首先是gemfire,有locator等概念。官方也看到了xp主题下载gemfire-hibernate模块。但是很奇怪,各种配置各种报错。

  然后前面一篇日志的评论里面网友@吴勇智提到了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 <bean id="sessionFactory"

  2         class="org.springframework.orm.hibernate3.annotation.AnnotationSessionFactoryBean">

  3         <property name="dataSource">

  4             <ref bean="dataSource" />

  5         </property>

  6         <property name="packagesToScan">

  7             <list>

  8                 <value>com.my.**.model</value>

  9             </list>

  10         </property>

  11         <property name="hibernateProperties">

  12             <props>

  13                 <prop key="hibernate.dialect">${hibernate.dialect}</prop>

  14                 <prop key="hibernate.show_sql">${hibernate.show_sql}</prop>

  15                 <prop key="hibernate.jdbc.fetch_size">${hibernate.jdbc.fetch_size}</prop>

  16                 <prop key="hibernate.jdbc.batch_size">${hibernate.jdbc.batch_size}</prop>

  17                 <prop key="hibernate.hbm2ddl.auto">${hibernate.hbm2ddl.auto}</prop>

  18                 <prop key="hibernate.cache.use_second_level_cache">${hibernate.cache.use_second_level_cache}</prop>

  19                 <prop key="hibernate.cache.use_query_cache">${hibernate.cache.use_query_cache}</prop>

  20                 <prop key="hibernate.validator.autoregister_listeners">${hibernate.validator.autoregister_listeners}</prop>

  21                 <prop key="hibernate.validator.apply_to_ddl">${hibernate.validator.apply_to_ddl}</prop>

  22                 <prop key="javax.persistence.validation.mode">${javax.persistence.validation.mode}</prop>

  23

  24                 <prop key="hibernate.cache.region.factory_class">${hibernate.cache.region.factory_class}</prop>

  25                 <prop key="hibernate.cache.use_minimal_puts">${hibernate.cache.use_minimal_puts}</prop>

  26                 <prop key="hibernate.cache.hazelcast.use_native_client">${hibernate.cache.hazelcast.use_native_client}</prop>

  27                 <prop key="hibernate.cache.hazelcast.native_client_address">${hibernate.cache.hazelcast.native_client_address}</prop>

  28                 <prop key="hibernate.cache.hazelcast.native_client_group">${hibernate.cache.hazelcast.native_client_group}</prop>

  29                 <prop key="hibernate.cache.hazelcast.native_client_password">${hibernate.cache.hazelcast.native_client_password}</prop>

  30             </props>

  31         </property>

  32     </bean>

  然后是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

  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了。

posted @ 2013-07-25 14:22  豆豆逗逗  阅读(425)  评论(0编辑  收藏  举报