Run:
  objcache.jsp?testing4=101
   

View:
objcache.jsp
StrArray.java
RStrArray.java
WStrArray.java
 
 
 

Java Web Cache with Generic Object Cache 

This example shows how to use useCacheObj to cache generic serializable java objects. The cached objects are stored under the same web-based namespaced automatically maintained by Java Web Cache system.

In this example, cache objects can be stored under the name "a1" and "a2" under "/demo/cache/objcache/objcache.jsp?testing4=101". The cache object can be retrieved under the same name later. Similarly, the cache object can be invalidated under the same name. Developers can still enjoy all the naming convenience and benefit of an auto cache policy, such as, using selected parameters feature, a sensible web-based naming hierarchy.

We use an implementation of a String Array as the generic cache object targets. The String Array implementation is serializable. The base version of the String Array is StrArray. It provides most of string array functions as protected methods. There are two derived versions of the String Array:

  • read-only version: RStrArray: only exposes the read/getter operations
  • writeable version: WStrArray: exposes both read & write / getter & setter operations
Since the read-only String Array is immutable, there is no need for cloning during cache operations. So, RStrArray does not need to implement CloneableCacheObj interface. Therefore, Java Web Cache does not clone the cached object of read-only String Array.

On the other hand, since the writeable String Array is mutable, we suggest you to implement CloneableCacheObj interface to provide a (deep) copy operation for cloning to avoid unintentional object mutation and thread-safety issue.