README Notes For Ehcache ${project.version}

    The project home page is Please see for a full change log, usage, product versions
    and comprehensive documentation.

    Ehcache is a pure Java, in-process cache with the following features:

    1. Fast and Light Weight
        1.1 Fast
        1.2 Simple
        1.3 Small foot print
        1.4 Minimal dependencies
    2. Scalable
        2.1 Provides Memory and Disk stores for scalabilty into gigabytes
        2.4 Scalable to hundreds of caches
        2.3 Tuned for high concurrent load on large multi-cpu servers
        2.4 Multiple CacheManagers per virtual machine
    3. Flexible
        3.1 Supports Object or Serializable caching
        3.2 Support cache-wide or Element-based expiry policies
        3.3 Provides LRU, LFU and FIFO cache eviction policies
        3.4 Provides Memory and Disk stores
        3.5 Distributed
        3.6 Dynamic, Runtime Configuration of Caches
    4. Standards Based
        4.1 Full implementation of JSR107 JCACHE API
    5. Extensible
        5.1 Listeners may be plugged in
        5.2 Peer Discovery, Replicators and Listeners may be plugged in
        5.3 Cache Extensions may be plugged in
        5.4 Cache Loaders may be plugged in
        5.5 Cache Exception Handlers may be plugged in
    6. Application Persistence
        6.1 Persistent disk store which stores data between VM restarts
        6.2 Flush to disk on demand
    7. Listeners
        7.1 CacheManager listeners
        7.2 Cache event listeners
    8. JMX Enabled
    9. Distributed Caching
    10. Support for replication via RMI or JGroups
        10.1 Peer Discovery
        10.2 Reliable Delivery
        10.3 Synchronous Or Asynchronous Replication
        10.4 Copy Or Invalidate Replication
        10.5 Transparent Replication
        10.6 Extensible
        10.7 Bootstrapping from Peers
    11. Cache Server
        11.1 RESTful cache server
        11.2 SOAP cache server
        11.3 comes as a WAR or as a complete server
    12. Java EE and Applied Caching
        12.1 Blocking Cache to avoid duplicate processing for concurrent operations
        12.2 SelfPopulating Cache for pull through caching of expensive operations
        12.3 Java EE Gzipping Servlet Filter
        12.4 Cacheable Commands
        12.5 Works with Hibernate
        12.6 Works with Google App Engine
        12.7 Transactional support through JTA
    13. High Quality
        13.1 High Test Coverage
        13.2 Automated Load, Limit and Performance System Tests
        13.3 Specific Concurrency Testing
        13.4 Production tested
        13.5 Fully documented
        13.6 Trusted by Popular Frameworks
        13.7 Conservative Commit policy
        13.8 Full public information on the history of every bug
        13.9 Responsiveness to serious bugs
    14. Open Source Licensing
        14.1 Apache 2.0 license

    Java Requirements

        Ehcache 1.7.2 and above supports Java 1.5 and 1.6 at runtime. Ehcache final releases are compiled with -target 1.5.

        The Ehcache 1.5 branch is being maintained for Java 1.4 users.


        SLF4J API and one concrete logging implementation. The API jar and the JDK14 logging jar are included in the distribution.

    Maven POM snippet

         All Ehcache releases are placed in the central Maven repository.
         The Maven snippet for Ehcache is:


    Place the ehcache-core.jar, slf4j-api.jar and slf4j-jdk14.jar, or the concrete SLF4J logging implementation library of your choice into your classpath.

    For use with Terracotta, copy the ehcache-terracotta.jar to your classpath.

    Create an ehcache.xml configuration from the one supplied in the distribution and place it in the root of your classpath.

    The Terracotta server is in the terracotta directory. It includes start and stop scripts.

    For Maven based development, there is a tc-maven-plugin which works much like the Jetty plugin. See UsingWithMaven.txt,
    which shows how to add the server to your integration test phase and interactive command use.

    For Ant based development, the tc-maven-plugin can be called from Ant. See UsingWithAnt.txt,
    which shows how to add the server to your Ant build, and how to use the server interactively from Ant.

    See the samples directory for ready-to-run samples which show to use the full features of Ehcache, including use with Terracotta.

    See for full documentation.

    The JavaDoc is in the distribution and also online at

    This kit contains ehcache code which is governed by the Apache License, version 2.0. The license is in the licenses folder.

    Ehcache 1.7.1 and higher uses SLF4J for logging. The SLF4J license is included in the licenses folder.

    Known Issues

    1. There are a number of known issues and workarounds for Tomcat. See the Using Ehcache with Tomcat chapter
       in the online documentation.

    2. See the FAQ online for a current list.