General Questions What jars are required by JCS?

As of verison 1.2.7.0, the core of JCS (the LRU memory cache, the indexed disk cache, the TCP lateral, and the RMI remote server) requires only two other jars.

concurrent

commons-logging

Versions 1.2.6.9 and below also require the following two additional jars:

commons-collections

commons-lang

All of the other dependencies listed on the project info page are for optional plugins.

How do I configure JCS?

By default JCS looks for a cache.ccf file in the classpath. You must have a configuration file on the classpath to use JCS. The documentation describes how to configure the cache.

How can I configure JCS with my own properties?

You don't have to put the cache.ccf file in the classpath; instead you can do the following:

CompositeCacheManager ccm = CompositeCacheManager.getUnconfiguredInstance(); Properties props = new Properties(); props.load(/* load properties from some location defined by your app */); ccm.configure(props);
Can JCS use system propeties during configuration?

Yes. JCS will look for a system property for any name inside the delimiters ${}. Also, JCS will check to see if any property key in the cache.ccf is defined in the system properties. If so, the system value will be used.

Is JCS faster than EHCache?

Yes. JCS is almost twice as fast as EHCache. JCS 1.2.7.0, using the default LRU Memory Cache, has proven to be nearly twice as fast as EHCache 1.2-beta4 at gets and puts. The EHCache benchmark data is unsubstantiated and very old. As such the EHCache site benchmark data is completely inaccurate. Read More