Installation and Configuration
Installation
Ehcache easily integrates with the OpenJPCA persistence framework from Apache.
To use OpenJPA, add a Maven dependency for ehcache-openjpa.
<groupId>net.sf.ehcache</groupId> 
<artifactId>ehcache-openjpa</artifactId> 
<version>0.1</version>
Configuration
For enabling Ehcache as second-level cache, the persistence.xml file should include the following configurations:
<property name="openjpa.Log" value="SQL=TRACE" /> 
<property name="openjpa.QueryCache" value="ehcache" /> 
<property name="openjpa.DataCache" value="true"/> 
<property name="openjpa.RemoteCommitProvider" value="sjvm"/> 
<property name="openjpa.DataCacheManager" value="ehcache" />
The ehcache.xml file can be configured as shown in this example:
<ehcache xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" 
xsi:noNamespaceSchemaLocation="ehcache.xsd" updateCheck="false" 
monitoring="autodetect" 
dynamicConfig="true" name="TestCache"> 
<diskStore path="/path/to/store/data"/> 
<defaultCache 
    maxEntriesLocalHeap="10000" 
    eternal="false" 
    timeToIdleSeconds="120" 
    timeToLiveSeconds="120" 
    memoryStoreEvictionPolicy="LRU"> 
    <persistence strategy="localTempSwap"/> 
</defaultCache> 
<cache name="com.terracotta.domain.DataTest" 
    maxEntriesLocalHeap="200" 
    eternal="false" 
    timeToIdleSeconds="2400" 
    timeToLiveSeconds="2400" 
    memoryStoreEvictionPolicy="LRU">    
</cache> 
<cache name="openjpa" 
    maxEntriesLocalHeap="20000" 
    eternal="true" 
    memoryStoreEvictionPolicy="LRU">    
</cache> 
<cache name="openjpa-querycache" 
    maxEntriesLocalHeap="20000" 
    eternal="true" 
    memoryStoreEvictionPolicy="LRU">    
</cache> 
<cacheManagerPeerListenerFactory 
    class="org.terracotta.ehcachedx.monitor.probe.ProbePeerListenerFactory" 
         properties="monitorAddress=localhost, monitorPort=9889, 
         memoryMeasurement=true" /> 
</ehcache>