<html><head>
<meta http-equiv="content-type" content="text/html; charset=ISO-8859-1">
</head><body>
<pre> README Notes
The project home page is http://ehcache.org. Please see http://ehcache.org for a full change log, usage, product versions
and comprehensive documentation.
Introduction
============
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.
Dependencies
============
SLF4J API and one concrete logging implementation. The API jar and the JDK14 logging jar are included in the distribution.
Maven Based Development
=======================
Most Ehcache modules are placed in the central Maven repository.
The Maven snippet for ehcache is:
<dependency>
<groupid>net.sf.ehcache</groupid>
<artifactid>ehcache</artifactid>
<version>[current-version]</version>
<type>pom</type>
</dependency>
To deploy to a Terracotta server you also need to add the following:
<dependency>
<groupId>org.terracotta</groupId>
<artifactId>terracotta-toolkit-1.2-runtime</artifactId>
<version>3.1.0</version>
</dependency>
<repositories>
<repository>
<id>terracotta-repository</id>
<url>http://www.terracotta.org/download/reflector/releases</url>
<releases>
<enabled>true</enabled>
</releases>
</repository>
</repositories>
Then create an ehcache.xml configuration from the one supplied in the distribution and place it in the root of your classpath.
Non-Maven Based Development
===========================
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.
Then create an ehcache.xml configuration from the one supplied in the distribution and place it in the root of your classpath.
Running the Terracotta Server at Development Time/Integration Testing
=====================================================================
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 USING-WITH-MAVEN.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 USING-WITH-ANT.txt,
which shows how to add the server to your Ant build, and how to use the server interactively from Ant.
Samples
=======
See the samples directory for ready-to-run samples which show to use the full features of Ehcache, including use with Terracotta.
Documentation
=============
See http://ehcache.org/documentation for full documentation.
The JavaDoc is in the distribution and also online at <a href="http://ehcache.org/apidocs">http://ehcache.org/apidocs</a>
Licenses
========
This kit contains ehcache code which is governed by the Apache License, version 2.0. The license is in the licenses folder.
It also contains the Terracotta server which is governed by the Terracotta Public License, version 1.0.
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.
</pre>
</body></html>