Configure servlet caching
We can configure servlet caching and wsadmin.sh. The dynamic cache service works within an application server JVM, intercepting calls to cacheable objects. For example, it intercepts calls through a servlet service method or a command execute method, and either stores the output of the object to the cache or serves the content of the object from the dynamic cache.
Before we can configure servlet caching, configure dynamic cache. Use the configureDynamicCache Jython script in the AdminServerManagement script library to configure dynamic caching. The wsadmin tool automatically loads the script when the tool starts. Use the following syntax to configure dynamic caching using the configureDynamicCache script:
AdminServerManagement.configureDynamicCache(nodeName, serverName, defaultPriority,cacheSize, externalCacheGroupName, externalCacheGroupType, otherAttributeList)
For additional information and argument definitions, see the documentation for the AdminServerMananagment script library.
After a servlet is invoked and completes generating the output to cache, a cache entry is created containing the output and the side effects of the servlet. These side effects can include calls to other servlets or JSP files or metadata about the entry, including timeout and entry priority information. Configure servlet caching to save the output of servlets and JSP (JSP) files to the dynamic cache.
Best practice: If we use wsadmin.sh to enable servlet caching, verify that portlet fragment caching is also enabled. Similarly, if you use wsadmin.sh to disable servlet caching, verify that portlet fragment caching is also disabled. The settings for these two caching functions must remain synchronized. If we enable or disable servlet caching using the console, synchronization performed automatically.bprac
To see a list of parameters associated with dynamic caching, use the attributes command. For example:
$AdminConfig attributes DynamicCache
- Start the wsadmin scripting tool.
- Retrieve the configuration ID of the server object.
The following example sets the first server found to the s1 variable:
- Jacl:
set s1 [$AdminConfig getid /Server:server1/]
- Jython:
s1 = AdminConfig.getid('/Server:server1/')
- Retrieve the web containers for the server of interest. and assign them to the wc variable.
The following example sets the web container to the wc variable:
- Jacl:
set wc [$AdminConfig list WebContainer $s1]
- Jython:
wc = AdminConfig.list('WebContainer', s1)
- Set a variable with the new value for the enableServletCaching attribute.
Set the enableServletCaching attribute to true and assign it to the serEnable variable:
- Jacl:
set serEnable "{enableServletCaching true}"
- Jython:
serEnable = [['enableServletCaching', 'true']]
- Enable dynamic caching.
Use the AdminConfig object to modify the application server configuration:
- Jacl:
$AdminConfig modify $wc $serEnable
- Jython:
AdminConfig.modify(wc, serEnable)
Subtopics
- Enable dynamic cache service multi-cell and multi-core group invalidation
We can use the dynacacheJMSSIB.py script to enable dynamic cache service multi-cell and multi-core group invalidation. This script configures the external cache adapter and service integration bus infrastructure in multiple cells. The script must be executed from the WAS_INSTALL_ROOT/profiles/PROFILE_NAME/bin directory for it to work correctly.
Related tasks
Configure servlet caching Automating server administration
Introduction: Dynamic cache Server settings configuration scripts Commands for the AdminConfig object