posts - 0, comments - 77, trackbacks - 0, articles - 356
            BlogJava :: 首頁 :: 新隨筆 :: 聯系 :: 聚合  :: 管理

          spring中配置二級緩存

          Posted on 2007-08-16 14:12 semovy 閱讀(3653) 評論(4)  編輯  收藏 所屬分類: Hibernate 、spring

          1.首先,在spring的hibernate配置里(我的是applicationContext-hibernate.xml) 加上如下屬性:

          <bean id="sessionFactory" class="org.springframework.orm.hibernate3.LocalSessionFactoryBean">         
            <property name="dataSource">
             <ref bean="dataSource"/>
            </property>
            <property name="mappingResources">
             <list>
              <value>org/appfteaching/model/TArticleclass.hbm.xml</value>
             </list>
            </property>
            <property name="hibernateProperties">
             <props>
              <prop key="hibernate.dialect">${hibernate.dialect}</prop>
                    <prop key="hibernate.show_sql">${hibernate.show_sql}</prop>
                    <prop key="hibernate.jdbc.fetch_size">${hibernate.jdbc.fetch_size}</prop>
                    <prop key="hibernate.jdbc.batch_size">${hibernate.jdbc.batch_size}</prop>
                    <prop key="hibernate.cache.use_query_cache">true</prop>
                    <prop key="hibernate.cache.provider_class">org.hibernate.cache.EhCacheProvider</prop>
             </props>   
            </property>  
           </bean> 

          2.其次,在src目錄下的ehcache.xml中配置如下信息(如果是默認ehcache.xml則會有<cache name="sampleCache1">和<cache name="sampleCache2>",去掉)

          <cache name="org.hibernate.cache.StandardQueryCache"
                  maxElementsInMemory="10000"
                  eternal="false"
                  timeToIdleSeconds="300"
                  timeToLiveSeconds="4200"
                  overflowToDisk="true"
                  />

              <!-- Sample cache named sampleCache2
                  This cache contains 1000 elements. Elements will always be held in memory.
                  They are not expired. -->

              <cache name="org.hibernate.cache.UpdateTimestampsCache"
                  maxElementsInMemory="5000"
                  eternal="true"
                  timeToIdleSeconds="0"
                  timeToLiveSeconds="0"
                  overflowToDisk="false"
                  />

          3.將你要緩存的model加進ehcache.xml里

          <cache name="org.appfteaching.model.TArticleclass"
               maxElementsInMemory="1000"
                  eternal="false"
                  timeToIdleSeconds="100"
                  timeToLiveSeconds="4200"
                  overflowToDisk="true"
               />  

          4.最后一步,在TArticleclass.hbm.xml里加上

          <cache usage="read-write"/>

          啟動Tomcat,如發現如下錯誤

          Could not find configuration [org.hibernate.cache.UpdateTimestampsCache]; using defaults.
          Could not find configuration [org.hibernate.cache.StandardQueryCache]; using defaults.

          則是第二步沒有做,加上即可.配置完畢


          評論

          # re: spring中配置二級緩存   回復  更多評論   

          2008-11-04 17:02 by sss
          很好很好,學習了,有效

          # re: spring中配置二級緩存   回復  更多評論   

          2010-07-15 00:19 by 游客
          很好 博主很強大

          # re: spring中配置二級緩存   回復  更多評論   

          2011-12-18 20:33 by 游客
          好文章啊.
          主站蜘蛛池模板: 阿克陶县| 尼玛县| 无棣县| 同德县| 镇坪县| 田阳县| 丰台区| 冕宁县| 两当县| 兴安县| 仁怀市| 黔西| 芜湖市| 仁化县| 申扎县| 马山县| 祁阳县| 许昌县| 兰溪市| 东至县| 门源| 乌鲁木齐县| 凤城市| 遵化市| 赫章县| 肥西县| 札达县| 南汇区| 宜兰市| 漳平市| 赤峰市| 璧山县| 隆尧县| 丰城市| 八宿县| 湾仔区| 凤山市| 博野县| 曲阳县| 石柱| 新竹县|