码迷,mamicode.com
首页 > 编程语言 > 详细

Spring Data GemFire学习

时间:2016-09-17 22:01:43      阅读:377      评论:0      收藏:0      [点我收藏+]

标签:

英文手册:http://docs.spring.io/spring-data/gemfire/docs/1.5.2.RELEASE/reference/html/(Spring Data GemFire Reference Guide)

 

新版本不用配置Gemfire自带的cache.xml直接用引用名空间的方式,配置Spring配置文件。

<?xml version="1.0" encoding="UTF-8"?>
<beans xmlns="http://www.springframework.org/schema/beans"
  xmlxsi="http://www.w3.org/2001/XMLSchema-instance"
  xmlns:gfe="http://www.springframework.org/schema/gemfire"
  xsi:schemaLocation="
        http://www.springframework.org/schema/beans http://www.springframework.org/schema/beans/spring-beans.xsd
        http://www.springframework.org/schema/gemfire http://www.springframework.org/schema/gemfire/spring-gemfire.xsd"> 

    <bean id ... >

    <gfe:cache ...> 

</beans>

注解说明:
<gfe:cache/>创建一个默认的cache:首先Spring会注册一个CacheFactoryBean来创建一个实现了Cache接口的gemfireCache对象。
这个Cache可以是一个既存的也可以是个已经在服务器上存在连接上去的

<gfe:cache id="cache-with-xml" cache-xml-location="classpath:cache.xml"/>
也可以指定用Gemfire本地的配置文件配置。

     <gfe:cache properties-ref="props"/>

     <util:properties id="props" location="file:/vfabric/gemfire/gemfire.properties"/>
</beans>
也可以这样外化配置,通过引用的properties文件配置
这些配置只有在创建的时候才会应用,如果JVM中已经有Cache了,则会忽略

高级Cache配置
<gfe:cache
        copy-on-read="true"
        critical-heap-percentage="70"
        eviction-heap-percentage="60"
        lock-lease="120"
        lock-timeout="60"
        pdx-serializer="myPdxSerializer"
        pdx-disk-store="diskStore"
        pdx-ignore-unread-fields="true"
        pdx-persistent="true"
        pdx-read-serialized="false"
        message-sync-interval="1"
        search-timeout="300"
        close="false"
        lazy-init="true">

     <gfe:transaction-listener ref="myTransactionListener"/>

     <gfe:transaction-writer> 
        <bean class="org.springframework.data.gemfire.example.TransactionListener"/>
      </gfe:transaction-writer>

     <gfe:dynamic-region-factory/> 允许Gemfire动态region factory
     <gfe:jndi-binding jndi-name="myDataSource" type="ManagedDataSource"/> 声明jdni接口绑定外部数据源
</gfe:cache>
更多的配置信息可以看Gemfire官网  http://gemfire.docs.pivotal.io/index.html
close属性表明cache是否和Spring application context 一起关闭
lazy-init是不是等到用的时候才init
TransactionListener 中引用的bean必须实现TransactionListener接口
use-bean-factory-locator属性代表用Spring内部类型BeanFactoryLocator来让定义在cache.xml中的locator注册成一个 Spring beans
在某些情况下,比如UT和IT时,设置use-bean-factory-locator为false,来防止异常,这个异常也会在用Maven build 脚本启动test的时候。测试人员要fork给每个testFork一个新的JVM。
 (in maven, set<forkmode>always</forkmode>

允许PDX序列化



 
 
 
 
 

Spring Data GemFire学习

标签:

原文地址:http://www.cnblogs.com/Greekjone/p/5879714.html

(0)
(0)
   
举报
评论 一句话评论(0
登录后才能评论!
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!