blob: 87d8d459a62211afbabdbd5049e445c3fc3c71cb [file] [log] [blame]
<?xml version="1.0" encoding="UTF-8"?>
<!--
Licensed to the Apache Software Foundation (ASF) under one
or more contributor license agreements. See the NOTICE file
distributed with this work for additional information
regarding copyright ownership. The ASF licenses this file
to you under the Apache License, Version 2.0 (the
"License"); you may not use this file except in compliance
with the License. You may obtain a copy of the License at
http://www.apache.org/licenses/LICENSE-2.0
Unless required by applicable law or agreed to in writing,
software distributed under the License is distributed on an
"AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
KIND, either express or implied. See the License for the
specific language governing permissions and limitations
under the License.
-->
<!--
The one and only cache manager for Shindig.
Allot a modest amount of heap to be shared by all caches.
By default only the CompiledJs caches will overflow to disk. No caches will persist
to disk by default as a development aid. It is recommended that deployments tune
caches to their needs.
Statistics are turned on for every cache by default. This affects cache performance.
To turn stats off you can use shindig.cache.ehcache.jmx.stats in shindig.properties.
See http://ehcache.org/ehcache.xsd for more information on valid configuration.
-->
<ehcache xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
xsi:noNamespaceSchemaLocation="ehcache.xsd"
updateCheck="false"
maxBytesLocalHeap="50m"
name="ShindigTestCM">
<!--
The directory where any caches configured as diskPersistent or overflowToDisk
will end up.
-->
<diskStore path="ehcache.disk.store.dir"/>
<!-- Default sizeOfPolicy for computing the size of cache elements in memory -->
<sizeOfPolicy maxDepth="1000" maxDepthExceededBehavior="abort"/>
<!--
Mandatory Default Cache configuration. These settings will be applied to caches
created programmatically using CacheManager.add(String cacheName).
The defaultCache has an implicit name "default" which is a reserved cache name.
-->
<defaultCache
statistics="true"
eternal="false"
timeToIdleSeconds="300"
timeToLiveSeconds="600"
overflowToDisk="false"
diskPersistent="false"
memoryStoreEvictionPolicy="LFU"/>
<!--
Compiled feature code, 10Mb disk overflow
-->
<cache name="CompiledJs"
statistics="true"
eternal="true"
overflowToDisk="true"
diskPersistent="false"
maxBytesLocalDisk="10m"
memoryStoreEvictionPolicy="LFU"/>
<!--
gadget specs and message bundles have additional caching policies that
allow us to cache the objects indefinitely when using an LFU or LRU cache.
-->
<cache name="gadgetSpecs"
statistics="true"
eternal="true"
overflowToDisk="false"
diskPersistent="false"
memoryStoreEvictionPolicy="LFU"/>
<cache name="messageBundles"
statistics="true"
eternal="true"
overflowToDisk="false"
diskPersistent="false"
memoryStoreEvictionPolicy="LFU"/>
<!-- Used to cache parsed HTML DOMs based on their content -->
<cache name="parsedDocuments"
statistics="true"
eternal="true"
overflowToDisk="false"
diskPersistent="false"
memoryStoreEvictionPolicy="LFU"/>
<!-- Used to cache parsed CSS DOMs based on their content -->
<cache name="parsedCss"
statistics="true"
eternal="true"
overflowToDisk="false"
diskPersistent="false"
memoryStoreEvictionPolicy="LFU"/>
<!--
This configuration is only suitable for a modest sized HTTP cache.
You should configure a shared cache for production use.
Give this cache 30% of the local heap by default.
-->
<cache name="httpResponses"
maxBytesLocalHeap="30%"
statistics="true"
eternal="true"
overflowToDisk="false"
diskPersistent="false"
memoryStoreEvictionPolicy="LFU"/>
<!-- Used to cache parsed expressions based on their content -->
<cache name="expressions"
statistics="true"
eternal="true"
overflowToDisk="false"
diskPersistent="false"
memoryStoreEvictionPolicy="LFU"/>
<!-- Used to cache cajoled modules based on their content -->
<cache name="cajoledModules"
statistics="true"
eternal="false"
timeToIdleSeconds="300"
timeToLiveSeconds="600"
overflowToDisk="false"
diskPersistent="false"
memoryStoreEvictionPolicy="LFU"/>
<!-- Used to cache Gadget Feature JS -->
<cache name="FeatureJsCache"
statistics="true"
eternal="true"
overflowToDisk="false"
diskPersistent="false"
memoryStoreEvictionPolicy="LFU">
<!--
The elements stored in this cache are complex and the default sizeOfPolicy
is insufficient
-->
<sizeOfPolicy maxDepth="5000" maxDepthExceededBehavior="abort"/>
</cache>
</ehcache>