2.2. Instantiating and Starting the Cache
An instance of the
Cache interface can only be created via a CacheFactory. This is unlike JBoss Cache 1.x, where an instance of the old TreeCache class could be directly instantiated.
The
CacheFactory provides a number of overloaded methods for creating a Cache, but they all fundamentally do the same thing:
- Gain access to a
Configuration, either by having one passed in as a method parameter or by parsing XML content and constructing one. The XML content can come from a provided input stream, from a classpath or file system location. See the Chapter 3, Configuration for more on obtaining aConfiguration. - Instantiate the
Cacheand provide it with a reference to theConfiguration. - Optionally invoke the cache's
create()andstart()methods.
Here is an example of the simplest mechanism for creating and starting a cache, using the default configuration values:
CacheFactory factory = new DefaultCacheFactory(); Cache cache = factory.createCache();
CacheFactory factory = new DefaultCacheFactory();
Cache cache = factory.createCache();
In this example, we tell the
CacheFactory to find and parse a configuration file on the classpath:
CacheFactory factory = new DefaultCacheFactory();
Cache cache = factory.createCache("cache-configuration.xml");
CacheFactory factory = new DefaultCacheFactory();
Cache cache = factory.createCache("cache-configuration.xml");
In this example, we configure the cache from a file, but want to programmatically change a configuration element. So, we tell the factory not to start the cache, and instead do it ourselves: