Configure dynamic cache disk offload
Overview
Use this task to configure dynamic cache disk offload, which saves cache entries that are deleted from the memory cache to disk.
By default, when the number of cache entries reaches the configured limit for a given application server, cache entries are removed from the memory cache, allowing newer entries to be stored in the cache. Use disk offload to copy the cache entries that are being removed from the memory cache to disk for potential future access.
Procedure
- In the administrative console, click...
Servers | Application servers | servername | Container services | Dynamic cache service- Select Enable disk offload.
- After you enable the disk offload, one can set the Disk offload location. The disk offload location specifies where to save the cache entries on the disk. The disk offload location must be unique for any application servers that are defined on the same node. If you have multiple servers defined on the same node, make sure the disk offload location is different for each server.
- Enable Flush to disk if you want cache objects that are in memory to be saved to disk when the server is stopped. Disk offload must be enabled if you choose this option. If you do not enable flush to disk, all the cache objects are deleted when the server stops.
- Click Apply or OK.
- Restart WebSphere Application Server.
Result
You enabled disk offload. Memory cache entries are moved to disk for potential future access.
When you have two or more application servers with servlet caching enabled and the application servers specify the same disk offload location for their caches through the dynamic cache service, the following exceptions might occur:
java.lang.NullPointerException at com.ibm.ws.cache.CacheOnDisk.readTemplate(CacheOnDisk.java:686) at com.ibm.ws.cache.Cache.internalInvalidateByTemplate(Cache.java:828)...or...
java.lang.NullPointerException at com.ibm.ws.cache.CacheOnDisk.readCacheEntry(CacheOnDisk.java:600) at com.ibm.ws.cache.Cache.getCacheEntry(Cache.java:341)If one server is run as root and the other servers are run as non-root, this problem could occur. For example, if server1 runs as root and server2 runs as wasuser or wasgroup, the cache files in the disk offload location might be created with root permissions. This situation causes the applications running on the non-root servers to crash when they try to read or write to the cache.
See also
Manage cache entries stored on a disk
Related Tasks
Enabling the dynamic cache service
Configuring Edge Side Include caching
See Also
Dynamic cache service settings