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

          spring中配置二級緩存

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

          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 游客
          好文章啊.
          主站蜘蛛池模板: 寻甸| 木兰县| 根河市| 江达县| 友谊县| 诸暨市| 蒙自县| 本溪| 永安市| 鹰潭市| 崇左市| 江津市| 望谟县| 永靖县| 简阳市| 咸宁市| 佛冈县| 宜城市| 文成县| 大城县| 同心县| 上犹县| 河北省| 兰州市| 苍山县| 湘西| 铜陵市| 马关县| 松潘县| 绥中县| 南澳县| 镇远县| 大城县| 缙云县| 开阳县| 崇文区| 怀柔区| 东乌| 柳河县| 宁津县| 诏安县|