Caching Features

The Application Server has the following web application response
caching capabilities:

Caching is configurable based on the servlet name
or the URI.

When caching is based on the URI, this includes user
specified parameters in the query string. For example, a response
from /garden/catalog?category=roses is different
from a response from /garden/catalog?category=lilies.
These responses are stored under different keys in the cache.

Cache size, entry timeout, and other caching behaviors
are configurable.

Entry timeout is measured from the time an entry is
created or refreshed. To override this timeout for an individual cache
mapping, specify the cache-mapping subelement timeout.

To determine caching criteria programmatically, write
a class that implements the com.sun.appserv.web.cache.CacheHelper interface. For example, if only a servlet knows when a
back end data source was last modified, you can write a helper class
to retrieve the last modified timestamp from the data source and decide
whether to cache the response based on that timestamp.

To determine cache key generation programmatically,
write a class that implements the com.sun.appserv.web.cache.CacheKeyGenerator interface. See The CacheKeyGenerator Interface.

All non-ASCII request parameter values specified in
cache key elements must be URL encoded. The caching subsystem attempts
to match the raw parameter values in the request query string.

Since newly updated classes impact what gets cached,
the web container clears the cache during dynamic deployment or reloading
of classes.