Files
alfresco-community-repo/config/alfresco/extension/caching-content-store-context.xml.sample
Matt Ward ac8b3ce1fc ALF-9613: caching content store. Various improvements and bug fixes. Including:
ALF-10097: disk-persistent cache settings in ehcache
ALF-10098: clean up  process should remove empty parent directories from content cache disk directory
ALF-10126: timeToIdle ehcache property was not affecting cache cleaner job
ALF-10127: externally deleted cached content files were not re-cached until after the items expired from ehcache

git-svn-id: https://svn.alfresco.com/repos/alfresco-enterprise/alfresco/HEAD/root@30171 c4b6b30b-aa2e-2d43-bbcb-ca4b014f7261
2011-09-02 09:03:49 +00:00

98 lines
3.9 KiB
XML

<?xml version='1.0' encoding='UTF-8'?>
<!DOCTYPE beans PUBLIC '-//SPRING//DTD BEAN//EN' 'http://www.springframework.org/dtd/spring-beans.dtd'>
<beans>
<!--
This file is not included in the application context by default.
If you include this file, please ensure that you review the sample
beans contained here.
-->
<bean id="contentService" parent="baseContentService">
<property name="store">
<ref bean="cachingContentStore" />
</property>
</bean>
<bean id="cachingContentStore" class="org.alfresco.repo.content.caching.CachingContentStore">
<property name="backingStore" ref="backingStore"/>
<property name="cache" ref="contentCache"/>
<property name="cacheOnInbound" value="${system.content.caching.cacheOnInbound}"/>
</bean>
<!--
The backingStore should NOT be a FileContentStore. If using a FileContentStore there
is no need to use a CachingContentStore and therefore no need for the backingStore.
This should be configured with a slow ContentStore that might benefit from caching
such as the S3ContentStore or the XAMContentStore.
-->
<bean id="backingStore" class="org.alfresco.repo.content.filestore.FileContentStore">
<constructor-arg>
<value>${dir.contentstore}</value>
</constructor-arg>
</bean>
<bean id="contentCache" class="org.alfresco.repo.content.caching.ContentCacheImpl">
<property name="memoryStore" ref="cachingContentStoreCache"/>
<property name="cacheRoot" value="${dir.cachedcontent}"/>
</bean>
<bean id="cachingContentStoreCache" class="org.alfresco.repo.cache.EhCacheAdapter">
<property name="cache">
<bean class="org.springframework.cache.ehcache.EhCacheFactoryBean">
<property name="cacheManager">
<ref bean="internalEHCacheManager" />
</property>
<property name="cacheName">
<value>org.alfresco.cache.cachingContentStoreCache</value>
</property>
<property name="eternal" value="false"/>
<property name="timeToLive" value="${system.content.caching.timeToLiveSeconds}"/>
<property name="timeToIdle" value="${system.content.caching.timeToIdleSeconds}"/>
<property name="maxElementsInMemory" value="${system.content.caching.maxElementsInMemory}"/>
<property name="maxElementsOnDisk" value="${system.content.caching.maxElementsOnDisk}"/>
<property name="overflowToDisk" value="true"/>
<property name="diskPersistent" value="true"/>
</bean>
</property>
</bean>
<bean id="cachingContentStoreCleanerJobDetail" class="org.springframework.scheduling.quartz.JobDetailBean">
<property name="jobClass">
<value>org.alfresco.repo.content.caching.cleanup.CachedContentCleanupJob</value>
</property>
<property name="jobDataAsMap">
<map>
<entry key="cachedContentCleaner">
<ref bean="cachedContentCleaner" />
</entry>
</map>
</property>
</bean>
<bean id="cachedContentCleaner" class="org.alfresco.repo.content.caching.cleanup.CachedContentCleaner">
<property name="maxDeleteWatchCount" value="${system.content.caching.maxDeleteWatchCount}"/>
<property name="cache" ref="contentCache"/>
</bean>
<bean id="cachingContentStoreCleanerTrigger" class="org.alfresco.util.CronTriggerBean">
<property name="jobDetail">
<ref bean="cachingContentStoreCleanerJobDetail" />
</property>
<property name="scheduler">
<ref bean="schedulerFactory" />
</property>
<property name="cronExpression">
<value>${system.content.caching.contentCleanup.cronExpression}</value>
</property>
</bean>
</beans>