If no caching engine is provided, the Stardust engine
retrieves entities per request using a transaction bound memory cache.
Some entities are not expected to be changed very often, but are frequently
retrieved. If a caching engine is provided, and the caching switch
property is not set to false, these entities are stored and
retrieved in cross transaction caches. These include the
following entities:
To turn off the use of caches, even if a caching engine is detected,
add the property Infinity.Engine.Caching
to your server-side carnot.properties file and set it to false.
Infinity.Engine.Caching = false
The cache engine is not part of the Stardust distribution, you have to install your own caching engine. The following caching engines are currently supported by Stardust:
The configuration required to connect to the client cache engine is to add the
corresponding adapter to the Stardust engine classpath, either in your
carnot.ear file or
in the global application server classpath.
The actual configuration of the cache engine should be performed according to the documentation of the respective caching engines installed in your environment.
Note
Please note that the provider should be transaction aware.
In case an installed cache engine is present in the client environment, Stardust detects it and uses it. If no cache engine is found or the installed cache engine is not supported, only the transaction bound memory cache is used.
In case a cache engine is found, the modification pattern of the cacheable entities is changed, in that all changes will be made not on the object retrieved from the cache, but on a different object, either freshly retrieved from the database or cloned from the cached object. This new object will replace the old one in the cache.
The retrieval of cacheable entities is directed to the respective caches whenever possible.
Per default, Stardust uses Hazelcast as in-memory cache. Hazelcast is a clustering and scalable data distribution platform. For the second level caching functionality Stardust leverages Hazelcast's distributed Map capabilities. For details on Hazelcast refer to http://www.hazelcast.com/product.jsp.
Refer to the Application Server Setup section of the Deployment Guide for details on the configuration for specific application server as well as for spring environments.