The cache parses the cachespec.xml file when the server starts, and extracts a set of configuration parameters from each cache-entry element. Every time a new servlet or other cacheable object initializes, the cache attempts to match each of the cache-entry elements to find the configuration information for that object.
The cache-entry elements can be inside the root cache element or inside a cache-instance element. Cache entries that are in the root element are cached with the default cache instance. Cache entries that are in the <cache-instance> element are cached in that particular cache instance. Different cacheable objects have different class elements. You can define the specific object that a cache policy refers to using the name element.
Place the cachespec.xml file with the deployment module. Use an assembly tool to define the cacheable objects. See Assembling applications for more information about assembling applications. You can also place a global cachespec.xml file in the application server properties directory. In situations where there is a global cachespec.xml file in the application server properties directory, and a cachespec.xml file in an application, the entries in the two cachespec.xml files are merged. If there are conflicting entries in the two files, the entries in the in the cachespec.xml file that is in the application override the entries in the global cachespec.xml file for that application.
The cachespec.dtd file is available in the application server properties directory. The cachespec.dtd file defines the legal structure and the elements that can be in your cachespec.xml file.
Cachespec.xml elements
The root element of the cachespec.xml file is cache and contains cache-instance and cache-entry elements. The cache-entry elements can also be placed inside of cache-instance elements to make that cache entry part of a cache instance that is different from the default.
cache-instance
<cache-instance name="cache_instance_name"></cache-instance>
The name attribute is the Java Naming and Directory Interface (JNDI) name of the cache instance that is set in the administrative console.
Each cache-instance element must contain at least one cache-entry element. A cache entry that is matched within a cache-instance element is cached in the servlet cache instance that is specified by the name attribute. If identical cache-entry elements exist across cache-instance elements, the first cache-entry element that is matched is used.
cache-entry
With the current version of WebSphere® Application Server, you can define multiple cache policies for a single servlet. For example, if you define multiple mappings for a servlet in the web.xml file, you can create a cache entry for each one of the mappings.
class
<class>command | servlet | webservice | JAXRPCClient | static | portlet </class>
This element is required and specifies how the application server interprets the remaining cache policy definition. The value servlet refers to servlets and JavaServer Pages (JSP) files that are deployed in the WebSphere Application Server servlet engine. The webservice class extends the servlet with special component types for Web services requests. The JAXRPCClient is used to define a cache entry for the Web services client cache. The value, command, refers to classes using the WebSphere Application Server command programming model. The value, static, refers to files that contain static content. The following examples illustrate the class element:
<class>command</class> <class>servlet</class> <class>webservice</class> <class>JAXRPCClient</class> <class>static</class> <class>portlet</class>
name
<name>name</name>
You can specify multiple name elements within a cache-entry if you have different mappings that refer to the same servlet.
<name>com.mycompany.MyCommand.class</name> <name>default_host:/servlet/snoop</name> <name>com.mycompany.beans.MyJavaBean</name> <name>mywebapp/myjsp.jsp</name> <name>/soap/servlet/soaprouter</name> <name>http://remotecompany.com:9080/service/getquote</name> <name>mywebapp/myLogo.gif</name>
sharing-policy
<sharing-policy> not-shared | shared-push | shared-pull | shared-push-pull</sharing-policy>
When working within a cluster with a distributed cache, these values determine the sharing characteristics of entries that are created from this object. If this element is not present, a not-shared value is assumed. In single server environments, not-shared is the only valid value. On the z/OS® platform, you can enable replication between servants in a base application server by using the DynacacheEnableUnmanagedServerReplication and DynacacheUnmanagedServerReplicationType Java virtual machine (JVM) custom properties. When enabling a replication, the default value is not-shared . This property does not affect distribution to Edge Side Include processors through the Edge fragment caching property.
Refer to the Configuring cache replication article for more information.
Value | Description |
not-shared | Cache entries for this object are
not shared among different application servers. These entries can
contain non-serializable data. For example, a cached servlet can place
non-serializable objects into the request attributes, if the <class>
type supports it. ![]() |
shared-push | Cache entries for this object are automatically distributed to the dynamic caches in other application servers or cooperating Java virtual machines (JVMs). Each cache has a copy of the entry at the time it is created. These entries cannot store non-serializable data. |
shared-pull | Cache entries for this object are shared between application servers on demand. If an application server gets a cache miss for this object, it queries the cooperating application servers to see if they have the object. If no application server has a cached copy of the object, the original application server runs the request and generates the object. These entries cannot store non-serializable data. This mode of sharing is not recommended. |
shared-push-pull | Cache entries for this object are shared between application servers on demand. When an application server generates a cache entry, it broadcasts the cache ID of the created entry to all cooperating application servers. Each server then knows whether an entry exists for any given cache ID. On a given request for that entry, the application server knows whether to generate the entry or pull it from somewhere else. These entries cannot store non-serializable data. |
<sharing-policy>not-shared</sharing-policy>
skip-cache
<cache> <skip-cache-attribute>att1</skip-cache-attribute> <!–Applies only to the base cache- -> ... <cache-instance name="instance1"> <skip-cache-attribute>att2</skip-cache-attribute> <!-Applies only to this instance- -> ... </cache-instance> </cache>
property
<property name="key">value</property>
where key is the name of the property for this cache entry element, and value is the corresponding value.
Property | Valid classes | Value |
ApplicationName | All | Overrides the J2EEName application ID so that multiple applications can share a common cache ID namespace. |
EdgeCacheable | Servlet | True or false. The default is false.
If the property is true, then the given servlet or JSP file
is externally requested from an Edge Side Include processor. Whether
or not the servlet or JSP file is cacheable depends on the rest of
the cache specification. The permissible components for general edgecacheable cache entries are PARAMETER, HEADER, COOKIE, and PATH_INFOSERVLET_PATH |
ExternalCache | Servlet and portlet | Specifies the external cache name. The external cache name needs to match the external cache group name. |
consume-subfragments | Servlet, Web service, or portlet | True or false. The default is false.
When a servlet is cached, only the content of that servlet is stored,
and includes placeholders for any other fragments to which it includes
or forwards. Consume-subfragments (CSF) tells the cache not to stop
saving content when it includes a child servlet. The parent entry,
the one marked CSF, includes all the content from all fragments in
its cache entry, resulting in one big cache entry that has no includes
or forwards, but the content from the whole tree of entries. Consume-subfragments
can save a significant amount of application server processing, but
is typically only useful when the external HTTP request contains all
the information needed to determine the entire tree of included fragments. Use
the <exclude> element to tell the cache to stop consuming for
the excluded fragment and instead, create a placeholder for the include
or forward. For example, exclude A.jsp from the consume-subfragment,
as follows:
<property name="consume-sbufragments">true <exclude>/A.jsp<exclude> </property> |
do-not-consume | Servlet, Web service, or portlet | True or false. The default is false. When a fragment parent has the consume-subfragment property set to true the child fragment content is saved in the cache entry of the parent. Do-not-consume (DNC) tells the cache to stop saving the content for this fragment in the parent cache-entry and create a placeholder instead for the include or forward. |
alternate_url | Servlet | Specifies the alternate URL that is used to invoke the servlet or JSP file. The property is valid only if the EdgeCacheable property also is set for the cache entry. |
persist-to-disk | All | True or false. The default is true. When this property is set to false, the cache entry is not written to the disk when overflow or server stopping occurs. |
save-attributes | Servlet and portlet | True or false. The default is true.
When this property is set to false, the request attributes
are not saved with the cache entry. Use the <exclude> element
to specify the request attributes that do not apply to the save-attributes
property. For example, to save only the attr1 attribute with the cache
entry:
<property name= "save-attributes">false <exclude>attr1</exclude> </property> To save all attributes except the attr1 attribute in the cache entry, set the property to true in the preceding sample. If you do not use the <exclude> element, either all or no request attributes are saved with the cache entry. |
delay-invalidations | Command | True or false. When this property is set to true, the commands that are invalidating cached objects based on the invalidation rules in this cache entry invalidate the cache entries after running. By default, the invalidation occurs before the command runs. |
store-cookies | Servlet and portlet | On or off. The default is On.
This property takes one or more cookie name as its argument which
is saved along with the cache object and restored by the servlet cache
in the response with a set-cookie header. Save all cookies except
cookie1 as part of the cache-entry as follows:
<property name="store-cookies">true <exclude>cookie</exclude> </property> Save only cookie1 as part of the
cache-entry, as follows:
<property name="store-cookies">false <exclude><cookie1</exclude> </property> |
ignore-get-post | Servlet and portlet | True or false. The default is false. When the property is set to true the request type is not appended to the cache-id for GET and POST requests unless the requestType component requestType component subelement is defined. By default the request type is automatically appended to the cache-id for GET and POST requests. |
ignore-char-encoding | Servlet and portlet | True or false. The default value is false. When the property is set to true, UTF-8 character encoding is not appended to the cache ID. Appending UTF-8 character encoding to the cache ID might lead to multiple copies of fragments, which unnecessarily increases the size of the cache. |
do-not-cache | Servlet and portlet | Defines a fragment that is neither cached nor
consumed by its parent. <cache-entry> ... <property name="do-not-cache">true</property>or <cache-id> <property name="do-not-cache">true</property> </cache-id> </cache-entry> |
cache-id
<cache-id> component*| timeout? | inactivity? | priority? | property* | idgenerator? | metadatagenerator? </cache-id>
component subelement
Use the component subelement to generate a portion of the cache ID. The component subelement consists of the attributes id, type, and ignore-value, and the elements index, method, field, required, value, and not-value.
Type | Valid classes | Meaning |
---|---|---|
method | Command | Calls the indicated method on the command or object |
field | Command | Retrieves the named field in the command or object |
parameter | Servlet and portlet | Retrieves the named parameter value from the request object. |
parameter-list | Servlet and portlet | Retrieves a list of values for the named parameter![]() |
session | Servlet and portlet | Retrieves the named value from the HTTP session |
cookie | Servlet | Retrieves the named cookie value |
attribute | Servlet and portlet | Retrieves the named request attribute |
header | Servlet, Web service, and portlet | Retrieves the named request header |
pathInfo | Servlet | Retrieves the pathInfo element from the request |
servletpath | Servlet | Retrieves the servlet path |
locale | Servlet and portlet | Retrieves the request locale Attention: The locale
component is permissible for edgecacheable entries only, when using
RRD. The locale component is not valid for all other ESI versions.
|
requestType | Servlet and portlet | Retrieves the HTTP request method from the request. Attention: The requestType component is permissible for edgecacheable
entries only, when using RRD. The requestType component is not valid
for all other ESI versions.
|
tiles_attribute | Servlet and portlet | Retrieves the value of an attribute from a tile. |
SOAPEnvelope | Web service and Web services client cache | Retrieves the SOAPEnvelope element from a Web services request. An ID attribute of Hash uses a Hash of the SOAPEnvelope element, while Literal uses the SOAPEnvelope element as received. |
SOAPAction | Web service | Retrieves the SOAPAction header, if available, for a Web services request. |
serviceOperation | Web service | Retrieves the service operation for a Web services request |
serviceOperationParameter | Web service | Retrieves the specified parameter from a Web services request |
operation | Web services client cache | Indicates an operation type in the Web Services Description Language (WSDL) file. The id attribute is ignored and the value is the operation or method name. If the namespace of the operation is specified, format the value as namespaceOfOperation:nameOfOperation |
part | Web services client cache | Indicates an input message part in the WSDL file or a request parameter. Its id attribute is the part or parameter name, and the value is the part or parameter value. |
SOAPHeaderEntry | Web services client cache | Retrieves special information in the Simple Object Access
Protocol (SOAP) header of the Web services request. The id attribute
specifies the name of the entry. In addition, the entry of the SOAP
header in the SOAP request must have the actor attribute, which contains
com.ibm.websphere.cache. For example:<soapenv:Header> <getQuote soapenv:actor="com.ibm.websphere.cache">IBM</getQuote> </soapenv:Header> |
portletSession | Portlet | Retrieves the named value from the portlet session |
portletWindowId | Portlet | Retrieves the portlet window ID from the portlet request object |
portletMode | Portlet | Retrieves the portlet mode from the portlet request object |
portletWindowsState | Portlet | Retrieves the portlet window state from the portlet request object |
sessionID | Servlet and portlet | Retrieves the HTTP session ID |
<component id="getUser" type="method"><method>getUserInfo <method>getName</method></method></component>
This method is equivalent to getUser().getUserInfo().getName()
<cache-entry> <class>servlet</class> <name>xxx.jsp</name> <cache-id> . . <component id="users" type="attribute"> <required>true</required> </component> . . </cache-id> <dependency-id>dep <component id="users" type="attribute"> <required>true</required> </component> </dependency-id> </cache-entry>The cache id contains the string users: a,b. The dependency id is dep: a,b.
<cache-entry> <class>servlet</class> <name>xxx.jsp</name> <cache-id> . . <component id="users" type="attribute"> <required>true</required> </component> . . </cache-id> <dependency-id>dep <component id="users" type="attribute" multipleIDs="true"> <required>true</required> </component> </dependency-id> </cache-entry>The cache policy will generates the following dependency IDs:
<cache-entry> <class>servlet</class> <name>xxx.jsp</name> <cache-id> . . <component id="users" type="attribute"> <required>true</required> <index>1</index> </component> . . </cache-id> <dependency-id>dep <component id="users" type="attribute" multipleIDs="true"> <required>true</required> </component> </dependency-id> </cache-entry>The previous cache policy generates the following component to use in the cache ID: users: b. Use the <method> element to call a void method on a returned object.
<component id="getUser" type="method"><method>getUserInfo <field>name</field></method></component>
This method is equivalent to the getUser().getUserInfo().name method.
<required>true</required>
<component id="getUser" type="method"><value>blue</value> <value>red</value> </component>
<component id="getUser" type="method"> <required>true</required> <not-value>blue</not-value> <not-value>red</not-value></component>
<component id="isValid" type="method" ignore-value="true"><component>
timeout subelement
<timeout>value</timeout>
where value is the amount of time, in seconds, to keep the cache entry. Cache entries that are in memory are kept indefinitely, as long as the entries remain in memory. Cache entries that are stored on disk are evicted if they are not accessed for 24 hours.
inactivity subelement
<inactivity>value</inactivity>where value is the amount of time, in seconds, to keep the cache entry in the cache after the last cache hit.
priority subelement
<priority>value</priority>
where value is a positive integer between 1 and 16 inclusive.
Samples
<cache-id> <component id="timeout" type="parameter"> <required>true</required> </component> <timeout>180</timeout> <inactivity>35</inactivity> <priority>1</priority> </cache-id>
<cache-id> <component id="timeout" type="parameter"> <required>true</required> </component> <inactivity>600</inactivity> <priority>1</priority> </cache-id>
<cache-id> <component id="timeout" type="parameter"> <required>true</required> </component> <timeout>180</timeout> <inactivity>600</inactivity> <priority>1</priority> </cache-id>
property subelement
<property name="key">value</property>
where key is the name of the property to define, and value is the corresponding value.
<property name="description">The Snoop Servlet</property>
Property | Valid classes | Meaning |
sharing-policy/timeout/priority | All | Overrides the settings for the containing cache entry when the request matches this cache ID. |
EdgeCacheable | Servlet | Overrides the settings for the containing cache entry when the request matches this cache ID. |
<idgenerator> class name </idgenerator>Where class name is the fully-qualified name of the class to use. Define this generator class in a shared library.
<metadatagenerator> classname </metadatagenerator>In this example, class name is the fully-qualified name of the class to use. Define this generator class in a shared library.
Use the dependency-id element to specify additional cache identifiers that associate multiple cache entries to the same group identifier.
The value of the dependency-id element is generated by concatenating the dependency ID base string with the values that are returned by its component elements. If a required component returns a null value, the entire dependency does not generate and is not used. Validate the dependency IDs explicitly through the dynamic cache API, or use the invalidation element. Multiple dependency ID rules can exist in one cache-entry element. All dependency rules run separately.
<invalidation>component* | invalidationgenerator? </invalidation>
<invalidationgenerator>class name</invalidationgenerator>In this example, classname is the fully qualified name of the class that implements the com.ibm.websphere.cache.webservices.InvalidationGenerator interface. Define this generator class in a shared library.
<?xml version="1.0" ?> <!DOCTYPE cache SYSTEM "cachespec.dtd"> <cache> <cache-entry> <class>servlet</class> <name>/MyDefinedServlet</name> <cache-id> <timeout>0</timeout> </cache-id> </cache-entry> <cache-entry> <class>servlet</class> <name>/MyAnnotatedServlet</name> <cache-id> <timeout>3600</timeout> </cache-id> </cache-entry> <cache-entry> <class>servlet</class> <name>/MyProgrammaticServlet</name> <cache-id> <timeout>3600</timeout> </cache-id> </cache-entry> <cache-entry> <class>servlet</class> <name>/MyProgrammaticServlet2</name> <cache-id> <timeout>3600</timeout> </cache-id> </cache-entry> <cache-entry> <class>servlet</class> <name>/MyProgrammaticServlet3</name> <cache-id> <timeout>3600</timeout> </cache-id> </cache-entry> <cache-entry> <class>servlet</class> <name>/StartAsyncDispatchCompleteAltPath</name> <cache-id> <component id="test" type="parameter"> <required>true</required> <value>testDoNotConsume</value> </component> <property name="do-not-consume">true</property> <timeout>5000</timeout> <priority>2</priority> </cache-id> <cache-id> <component id="test" type="parameter"> <required>true</required> <value>testCacheChildONLY</value> </component> <property name="do-not-consume">true</property> <timeout>5000</timeout> <priority>2</priority> </cache-id> </cache-entry> <cache-entry> <class>servlet</class> <name>/StartAsyncDispatchComplete</name> <cache-id> <component id="test" type="parameter"> <required>true</required> <value>testDoNotConsume</value> </component> <property name="consume-subfragments">false</property> <timeout>5000</timeout> <priority>2</priority> </cache-id> <cache-id> <component id="test" type="parameter"> <required>true</required> <value>testConsumeSubFragments</value> </component> <property name="consume-subfragments">true</property> <timeout>5000</timeout> <priority>2</priority> </cache-id> <cache-id> <component id="test" type="parameter"> <required>true</required> <value>testTimeout</value> </component> <property name="do-not-consume">true</property> <timeout>5000</timeout> <priority>2</priority> </cache-id> <cache-id> <component id="test" type="parameter"> <required>true</required> <value>testError</value> </component> <property name="do-not-consume">true</property> <timeout>5000</timeout> <priority>2</priority> </cache-id> </cache-entry> <cache-entry> <class>servlet</class> <name>/DiscardParent.jsp</name> <property name="consume-subfragments">true</property> <cache-id> <timeout>0</timeout> </cache-id> </cache-entry> <cache-entry> <class>servlet</class> <name>/AttrA1.jsp</name> <property name="consume-subfragments">true</property> <cache-id> <timeout>0</timeout> </cache-id> </cache-entry> <cache-entry> <class>servlet</class> <name>/AttrA2.jsp</name> <property name="consume-subfragments">true</property> <cache-id> <timeout>0</timeout> </cache-id> </cache-entry> <cache-entry> <class>servlet</class> <name>/AttrA3.jsp</name> <property name="consume-subfragments">true</property> <property name="save-attributes"> false <exclude>saveThisAttr</exclude> </property> <cache-id> <timeout>0</timeout> </cache-id> </cache-entry> <cache-entry> <class>servlet</class> <name>/AttrC3.jsp</name> <property name="do-not-cache">true</property> <property name="save-attributes">false</property> <cache-id> <timeout>0</timeout> </cache-id> </cache-entry> <cache-entry> <class>servlet</class> <name>/CacheTest.jsp</name> <cache-id> <component id="output" type="attribute"> <required>true</required> </component> <timeout>180</timeout> </cache-id> <dependency-id> response <component id="output" type="attribute"> <required>true</required> </component> </dependency-id> </cache-entry> <cache-entry> <class>servlet</class> <name>Include1.jsp</name> <cache-id> <component id="outputForInclude1" type="attribute"> <required>true</required> </component> <timeout>120</timeout> <priority>2</priority> </cache-id> <dependency-id> response <component id="output" type="attribute"> <required>true</required> </component> </dependency-id> </cache-entry> <cache-entry> <class>servlet</class> <name>ESIParent.jsp</name> <property name="EdgeCacheable">true</property> <cache-id> <component id="parm1" type="parameter" /> <timeout>180</timeout> <priority>2</priority> </cache-id> <dependency-id> dep1 <component id="parm1" type="parameter" /> </dependency-id> </cache-entry> <cache-entry> <class>servlet</class> <name>ESIChild.jsp</name> <property name="EdgeCacheable">true</property> <cache-id> <component id="parm2" type="parameter" /> <timeout>180</timeout> <priority>2</priority> </cache-id> <dependency-id> dep4 <component id="parm2" type="parameter" /> </dependency-id> </cache-entry> <cache-entry> <class>servlet</class> <name>ESI1Cached.jsp</name> <cache-id> <component id="param2" type="parameter"> <required>true</required> </component> <timeout>180</timeout> <priority>2</priority> </cache-id> <dependency-id>ESI1</dependency-id> </cache-entry> <cache-entry> <class>servlet</class> <name>ESI1Edgeable.jsp</name> <property name="EdgeCacheable">true</property> <cache-id> <component id="param2" type="parameter"> <required>true</required> </component> <timeout>180</timeout> <priority>2</priority> </cache-id> <cache-id> <component id="arg1" type="parameter"> <required>true</required> </component> <timeout>180</timeout> <priority>2</priority> </cache-id> <dependency-id>ESI1</dependency-id> </cache-entry> <cache-entry> <class>servlet</class> <name>ESI2Cached.jsp</name> <cache-id> <timeout>240</timeout> <priority>2</priority> </cache-id> <dependency-id>ESI2</dependency-id> </cache-entry> <cache-entry> <property name="EdgeCacheable">true</property> <name>ESI2Edgeable.jsp</name> <class>servlet</class> <cache-id> <component id="arg1" type="parameter"> <required>true</required> </component> <timeout>180</timeout> <priority>2</priority> </cache-id> <cache-id> <timeout>180</timeout> <priority>2</priority> </cache-id> <dependency-id>ESI2</dependency-id> </cache-entry> <cache-entry> <class>servlet</class> <name>ESI3Cached.jsp</name> <cache-id> <timeout>60</timeout> <priority>2</priority> </cache-id> <dependency-id>ESI3</dependency-id> </cache-entry> <cache-entry> <class>servlet</class> <name>ESI3Edgeable.jsp</name> <property name="EdgeCacheable">true</property> <cache-id> <component id="arg1" type="parameter"> <required>true</required> </component> <timeout>60</timeout> <priority>2</priority> </cache-id> <cache-id> <timeout>60</timeout> <priority>2</priority> </cache-id> <dependency-id>ESI3</dependency-id> </cache-entry> <cache-entry> <class>servlet</class> <name>ESI4Edgeable.jsp</name> <property name="EdgeCacheable">true</property> <cache-id> <component id="arg1" type="parameter"> <required>true</required> </component> <timeout>60</timeout> <priority>2</priority> </cache-id> <cache-id> <timeout>60</timeout> <priority>2</priority> </cache-id> <dependency-id>ESI4</dependency-id> </cache-entry> <cache-entry> <class>servlet</class> <name>ESI5Edgeable.jsp</name> <property name="EdgeCacheable">true</property> <cache-id> <component id="arg1" type="parameter"> <required>true</required> </component> <timeout>60</timeout> <priority>2</priority> </cache-id> <cache-id> <timeout>60</timeout> <priority>2</priority> </cache-id> <dependency-id>ESI5</dependency-id> </cache-entry> <!--Test ESI w/ wildcard character--> <cache-entry> <class>servlet</class> <name>ESI6Edgeable.jsp</name> <cache-id> <component id="*" type="parameter"> <required>false</required> </component> <timeout>180</timeout> <property name="EdgeCacheable">true</property> </cache-id> </cache-entry> <cache-entry> <class>servlet</class> <name>ESI7Edgeable.jsp</name> <property name="EdgeCacheable">true</property> <cache-id> <component id="arg1" type="parameter"> <required>true</required> </component> <timeout>60</timeout> <priority>2</priority> </cache-id> <cache-id> <timeout>60</timeout> <priority>2</priority> </cache-id> <dependency-id>ESI7</dependency-id> </cache-entry> <cache-entry> <class>webservice</class> <name>/services/CounterService1</name> <sharing-policy>not-shared</sharing-policy> <cache-id> <component id="Request-Hash" type="header"> <required>true</required> </component> <timeout>0</timeout> <priority>1</priority> <property name="description"> This is SOAP Servlet. </property> </cache-id> <cache-id> <component id="" type="SOAPAction"> <value>urn:lookup</value> </component> <component id="Hash" type="SOAPEnvelope" /> <timeout>0</timeout> <priority>1</priority> </cache-id> <cache-id> <component id="" type="serviceOperation"> <value>urn:counterservice1:counter1</value> </component> <component id="Hash" type="SOAPEnvelope" /> <timeout>0</timeout> <priority>1</priority> </cache-id> <cache-id> <component id="" type="serviceOperation"> <value>urn:counterservice1:counter1</value> </component> <component id="in" type="serviceOperationParameter"> <value>xxx</value> </component> <component id="Hash" type="SOAPEnvelope" /> <timeout>0</timeout> <priority>1</priority> </cache-id> <cache-id> <component id="" type="serviceOperation"> <not-value>urn:counterservice1:counter1</not-value> </component> <component id="in" type="serviceOperationParameter"> <not-value>xxx</not-value> </component> <component id="Hash" type="SOAPEnvelope" /> <timeout>0</timeout> <priority>1</priority> </cache-id> <cache-id> <component id="" type="SOAPAction"> <value>urn:lookup</value> </component> <component id="Literal" type="SOAPEnvelope" /> <timeout>0</timeout> <priority>1</priority> </cache-id> <cache-id> <component id="" type="SOAPAction"> <value>urn:lookup</value> </component> <component id="Hash" type="SOAPEnvelope" /> <timeout>0</timeout> <priority>1</priority> </cache-id> <cache-id> <component id="" type="serviceOperation"> <value>urn:counterservice1:counter1</value> <value>urn:counterservice2:counter2</value> </component> <component id="Hash" type="SOAPEnvelope" /> <timeout>0</timeout> <priority>1</priority> </cache-id> <cache-id> <component id="" type="serviceOperation"> <value>urn:counterservice1:counter1</value> </component> <component id="Hash" type="SOAPEnvelope" /> <timeout>0</timeout> <priority>1</priority> </cache-id> <dependency-id>depId</dependency-id> <invalidation> depId <component id="" type="serviceOperation" ignore-value="true"> <value>urn:counterservice1:reset1</value> </component> </invalidation> </cache-entry> <cache-entry> <class>servlet</class> <name>TimeoutPos.jsp</name> <cache-id> <timeout>10</timeout> <priority>1</priority> </cache-id> </cache-entry> <cache-entry> <class>servlet</class> <name>com.ibm.ws.cache.servlet.pathinfo1.class</name> <cache-id> <component id="" type="pathinfo"> <required>true</required> </component> <component id="genPathInfo" type="parameter"> <required>false</required> </component> <timeout>0</timeout> <priority>1</priority> </cache-id> </cache-entry> <cache-entry> <class>servlet</class> <name>com.ibm.ws.cache.servlet.pathinfo2.class</name> <cache-id> <component id="" type="pathinfo"> <required>true</required> </component> <timeout>0</timeout> <priority>1</priority> </cache-id> </cache-entry> <cache-entry> <class>servlet</class> <name>/pathinfo1/xxxx</name> <cache-id> <timeout>0</timeout> <priority>1</priority> </cache-id> </cache-entry> <cache-entry> <class>servlet</class> <name>/pathinfo1/yyyy</name> <cache-id> <timeout>0</timeout> <priority>1</priority> </cache-id> </cache-entry> <cache-entry> <class>servlet</class> <sharing-policy>shared-pull</sharing-policy> <name>com.ibm.ws.cache.servlet.reqparmtest.class</name> <cache-id> <component id="arg1" type="parameter"> <required>true</required> </component> <timeout>0</timeout> <priority>1</priority> </cache-id> <cache-id> <component id="timeout" type="parameter"> <required>true</required> </component> <timeout>15</timeout> <priority>1</priority> </cache-id> <dependency-id> reqparm <component id="arg1" type="parameter"> <required>true</required> </component> </dependency-id> <invalidation> reqparm <component id="inv" type="parameter"> <required>true</required> </component> </invalidation> </cache-entry> <cache-entry> <class>servlet</class> <sharing-policy>shared-push</sharing-policy> <name> com.ibm.ws.cache.servlet.reqparmtest_sharePush.class </name> <cache-id> <component id="arg1" type="parameter"> <required>true</required> </component> <timeout>0</timeout> <priority>1</priority> </cache-id> <cache-id> <component id="timeout" type="parameter"> <required>true</required> </component> <timeout>15</timeout> <priority>1</priority> </cache-id> <dependency-id> reqparm <component id="arg1" type="parameter"> <required>true</required> </component> </dependency-id> <invalidation> reqparm <component id="inv" type="parameter"> <required>true</required> </component> </invalidation> </cache-entry> <cache-entry> <class>servlet</class> <name>com.ibm.ws.cache.servlet.reqattrtest.class</name> <cache-id> <component id="arg" type="attribute"> <required>false</required> </component> <component id="IAmRequired" type="attribute" ignore-value="true"> <required>true</required> </component> <component id="int" type="attribute"> <method>intValue</method> <required>false</required> </component> <timeout>0</timeout> <priority>1</priority> </cache-id> </cache-entry> <cache-entry> <class>servlet</class> <name>/STMTestServlet</name> <sharing-policy>shared-push</sharing-policy> <cache-id> <component id="parm" type="parameter"> <required>false</required> </component> <timeout>0</timeout> <priority>1</priority> </cache-id> </cache-entry> <cache-instance name="services/cache/servletInstance_1"> <cache-entry> <class>servlet</class> <name>/STMTestServlet_shareNone</name> <sharing-policy>not-shared</sharing-policy> <cache-id> <component id="parm" type="parameter"> <required>false</required> </component> <timeout>0</timeout> <priority>1</priority> </cache-id> </cache-entry> <cache-entry> <class>servlet</class> <name>/STMTestServlet_shareDefault</name> <cache-id> <component id="parm" type="parameter"> <required>false</required> </component> <timeout>0</timeout> <priority>1</priority> </cache-id> </cache-entry> <cache-entry> <class>servlet</class> <name>/STMTestServlet_sharePush</name> <sharing-policy>shared-push</sharing-policy> <cache-id> <component id="parm" type="parameter"> <required>false</required> </component> <timeout>0</timeout> <priority>1</priority> </cache-id> </cache-entry> <cache-entry> <class>servlet</class> <name>/STMTestServlet_sharePull</name> <sharing-policy>shared-pull</sharing-policy> <cache-id> <component id="parm" type="parameter"> <required>false</required> </component> <timeout>0</timeout> <priority>1</priority> </cache-id> </cache-entry> <cache-entry> <class>servlet</class> <name>/STMTestServlet_sharePushPull</name> <sharing-policy>shared-push-pull</sharing-policy> <cache-id> <component id="parm" type="parameter"> <required>false</required> </component> <timeout>0</timeout> <priority>1</priority> </cache-id> </cache-entry> <cache-entry> <class>servlet</class> <name>SITimeStamp</name> <cache-id> <component id="parm" type="parameter" /> <timeout>180</timeout> <priority>2</priority> </cache-id> </cache-entry> </cache-instance> <cache-entry> <class>servlet</class> <name>/CloseAndFlush</name> <cache-id> <component id="action" type="parameter"> <required>true</required> </component> <timeout>0</timeout> <priority>1</priority> </cache-id> </cache-entry> <cache-instance name="services/cache/servletInstance_1"> <cache-entry> <class>servlet</class> <name>/TimeStamp</name> <sharing-policy>not-shared</sharing-policy> <cache-id> <component id="timeout" type="parameter"> <required>true</required> </component> <timeout>35</timeout> <priority>1</priority> </cache-id> <cache-id> <component id="arg1" type="parameter"> <required>true</required> </component> <timeout>0</timeout> <priority>1</priority> </cache-id> <cache-id> <component id="inactivity0" type="parameter"> <required>true</required> </component> <timeout>30</timeout> <inactivity>0</inactivity> <priority>1</priority> </cache-id> <cache-id> <component id="inactivity1" type="parameter"> <required>true</required> </component> <timeout>60</timeout> <inactivity>30</inactivity> <priority>1</priority> </cache-id> <cache-id> <component id="inactivity2" type="parameter"> <required>true</required> </component> <inactivity>30</inactivity> <priority>1</priority> </cache-id> <cache-id> <component id="inactivity3" type="parameter"> <required>true</required> </component> <timeout>30</timeout> <inactivity>60</inactivity> <priority>1</priority> </cache-id> <cache-id> <property name="ignore-get-post">false</property> <component id="ignore" type="parameter"> <value>false</value> </component> </cache-id> <cache-id> <property name="ignore-get-post">true</property> <component id="ignore" type="parameter"> <value>true</value> </component> </cache-id> <dependency-id> timestamp <component id="arg1" type="parameter"> <required>true</required> </component> </dependency-id> <invalidation> timestamp <component id="inv" type="parameter"> <required>true</required> </component> </invalidation> </cache-entry> </cache-instance> <cache-entry> <class>servlet</class> <name>/TimeStamp1</name> <property name="persist-to-disk">false</property> <sharing-policy>not-shared</sharing-policy> <cache-id> <component id="timeout" type="parameter"> <required>true</required> </component> <timeout>35</timeout> <priority>1</priority> </cache-id> <cache-id> <component id="arg1" type="parameter"> <required>true</required> </component> <timeout>0</timeout> <priority>1</priority> </cache-id> <dependency-id> timestamp <component id="arg1" type="parameter"> <required>true</required> </component> </dependency-id> <invalidation> timestamp <component id="inv" type="parameter"> <required>true</required> </component> </invalidation> </cache-entry> <cache-entry> <class>servlet</class> <name>/TimeStamp2</name> <property name="persist-to-disk">false</property> <sharing-policy>not-shared</sharing-policy> <cache-id> <component id="timeout" type="parameter"> <required>true</required> </component> <timeout>35</timeout> <priority>1</priority> </cache-id> <cache-id> <component id="arg1" type="parameter"> <required>true</required> </component> <timeout>0</timeout> <priority>1</priority> </cache-id> <dependency-id> timestamp2 <component id="arg1" type="parameter"> <required>true</required> </component> </dependency-id> <invalidation> timestamp2 <component id="inv" type="parameter"> <required>true</required> </component> </invalidation> </cache-entry> <cache-instance name="services/cache/servletInstance_1"> <cache-entry> <class>command</class> <name>com.ibm.ws.cache.command.MyQuoteCommand.class</name> <cache-id> <timeout>0</timeout> <priority>3</priority> <component id="getTicker" type="method" /> </cache-id> <dependency-id>MyQuoteTicker</dependency-id> </cache-entry> </cache-instance> <cache-entry> <class>command</class> <name>com.ibm.ws.cache.command.QuoteCommand.class</name> <cache-id> <timeout>180</timeout> <priority>3</priority> <component id="getTicker" type="method" /> </cache-id> <dependency-id> ticker <component id="getTicker" type="method" /> </dependency-id> </cache-entry> <cache-entry> <class>command</class> <name>com.ibm.ws.cache.command.QuoteCommandComplex.class</name> <cache-id> <timeout>240</timeout> <priority>3</priority> <component id="getComplex" type="method"> <method>getTicker</method> </component> </cache-id> <dependency-id> ticker <component id="getComplex" type="method"> <field>ticker</field> </component> </dependency-id> </cache-entry> <cache-entry> <class>command</class> <name>com.ibm.ws.cache.command.QuoteCommandIdGen</name> <cache-id> <timeout>120</timeout> <priority>3</priority> <idgenerator> com.ibm.ws.cache.command.QuoteIdGenerator </idgenerator> </cache-id> </cache-entry> <cache-entry> <class>command</class> <name>com.ibm.ws.cache.command.NoOutputPropCommand</name> <cache-id> <timeout>180</timeout> <priority>3</priority> <component id="getTicker" type="method" /> </cache-id> <dependency-id> ticker <component id="getTicker" type="method" /> </dependency-id> </cache-entry> <cache-entry> <class>servlet</class> <name>/bufferwritercached</name> <cache-id> <timeout>0</timeout> <priority>3</priority> </cache-id> </cache-entry> <cache-entry> <class>servlet</class> <name>/bufferstreamcached</name> <cache-id> <timeout>0</timeout> <priority>3</priority> </cache-id> </cache-entry> <cache-entry> <class>servlet</class> <name>/BasicServlet</name> <cache-id> <component id="testCookie" type="cookie"> <required>true</required> </component> <timeout>30</timeout> </cache-id> <cache-id> <component id="action" type="parameter" /> <component id="" type="locale" /> <timeout>0</timeout> <priority>1</priority> </cache-id> </cache-entry> <cache-entry> <class>command</class> <name>com.ibm.ws.cache.command.WatchListCommand</name> <cache-id> <timeout>360</timeout> <priority>4</priority> <component id="userGroup" type="field" /> <component id="userNumber" type="field" /> </cache-id> <dependency-id> USER <component id="userGroup" type="field" /> <component id="userNumber" type="field" /> </dependency-id> </cache-entry> <cache-entry> <class>command</class> <name>com.ibm.ws.cache.command.WatchListCommandMixed</name> <cache-id> <timeout>360</timeout> <priority>4</priority> <component id="userGroup" type="field" /> <component id="getUserNumber" type="method" /> </cache-id> <dependency-id> USER <component id="userGroup" type="field" /> <component id="getUserNumber" type="method" /> </dependency-id> </cache-entry> <cache-entry> <class>servlet</class> <name>com.ibm.ws.cache.command.CommandTestServlet.class</name> <invalidation> USER <component id="action" type="parameter" ignore-value="true"> <value>invalidate</value> </component> <component id="group" type="parameter" /> <component id="user" type="parameter" /> </invalidation> </cache-entry> <cache-entry> <class>servlet</class> <name>consumeParent.jsp</name> <property name="consume-subfragments">true</property> <cache-id> <timeout>0</timeout> <priority>4</priority> </cache-id> </cache-entry> <cache-entry> <class>servlet</class> <name>consumeParent2.jsp</name> <cache-id> <timeout>0</timeout> <priority>4</priority> <property name="consume-subfragments">true</property> </cache-id> </cache-entry> <cache-entry> <class>servlet</class> <name>consumeParentForward.jsp</name> <cache-id> <timeout>0</timeout> <priority>4</priority> <property name="consume-subfragments">true</property> </cache-id> </cache-entry> <cache-entry> <class>servlet</class> <name>/esiForwardInclude.jsp</name> <cache-id> <property name="EdgeCacheable">true</property> <timeout>600</timeout> <priority>2</priority> </cache-id> </cache-entry> <cache-entry> <class>servlet</class> <name>/esiParentConsume.jsp</name> <property name="consume-subfragments">true</property> <cache-id> <property name="EdgeCacheable">true</property> <timeout>600</timeout> <priority>2</priority> </cache-id> </cache-entry> <cache-entry> <class>servlet</class> <name>/alturlcontroller1</name> <property name="EdgeCacheable">true</property> <cache-id> <timeout>600</timeout> <priority>2</priority> </cache-id> </cache-entry> <cache-entry> <class>servlet</class> <name>/AltUrlTest2.jsp</name> <property name="EdgeCacheable">true</property> <property name="alternate_url">/alturlcontroller2</property> <cache-id> <timeout>600</timeout> <priority>2</priority> </cache-id> </cache-entry> <cache-entry> <class>servlet</class> <name>/AltUrlTest3.jsp</name> <property name="EdgeCacheable">true</property> <property name="alternate_url">/alturlcontroller3</property> <cache-id> <timeout>600</timeout> <priority>2</priority> </cache-id> </cache-entry> <cache-entry> <class>servlet</class> <name>/AltUrlTest4.jsp</name> <property name="EdgeCacheable">true</property> <property name="alternate_url">/alturlcontroller4</property> <cache-id> <timeout>600</timeout> <priority>2</priority> </cache-id> </cache-entry> <cache-entry> <class>servlet</class> <name>/AltUrlTest5.jsp</name> <cache-id> <timeout>600</timeout> <priority>2</priority> </cache-id> </cache-entry> <cache-entry> <class>servlet</class> <name>com.ibm.ws.cache.servlet.reqparmlisttest.class</name> <cache-id> <component id="parm" type="parameter-list"> <required>true</required> </component> <timeout>0</timeout> <priority>1</priority> </cache-id> </cache-entry> <cache-entry> <class>servlet</class> <name>/SaveAttributesParent.jsp</name> <sharing-policy>not-shared</sharing-policy> <property name="consume-subfragments">false</property> <property name="save-attributes">false</property> <cache-id> <component id="arg1" type="parameter"> <required>true</required> </component> <timeout>0</timeout> <priority>1</priority> </cache-id> <dependency-id> timestamp <component id="arg1" type="parameter"> <required>true</required> </component> </dependency-id> <invalidation> timestamp <component id="inv" type="parameter"> <required>true</required> </component> </invalidation> </cache-entry> <cache-entry> <class>servlet</class> <name>/ReqAttA.jsp</name> <cache-id> <component id="ReqAttr" type="attribute"> <required>true</required> </component> <timeout>0</timeout> <priority>1</priority> </cache-id> </cache-entry> <cache-entry> <class>servlet</class> <name>/ServletPathTest</name> <sharing-policy>not-shared</sharing-policy> <cache-id> <component id="" type="servletpath"> <required>true</required> </component> <timeout>35</timeout> <priority>1</priority> </cache-id> </cache-entry> <cache-entry> <class>servlet</class> <name>/ESICookie.jsp</name> <property name="EdgeCacheable">true</property> <cache-id> <timeout>180</timeout> <priority>1</priority> </cache-id> </cache-entry> <cache-entry> <class>servlet</class> <name>/ESIQueryStringParent.jsp</name> <cache-id> <timeout>180</timeout> <priority>1</priority> </cache-id> </cache-entry> <cache-entry> <class>servlet</class> <name>/ESIQueryStringChild.jsp</name> <property name="EdgeCacheable">true</property> <cache-id> <component id="scenario" type="parameter"> <required>true</required> </component> <component id="parm1" type="parameter"> <required>true</required> </component> <component id="testCookie" type="cookie"> <required>true</required> </component> <timeout>180</timeout> <priority>1</priority> </cache-id> <cache-id> <timeout>180</timeout> <priority>1</priority> </cache-id> </cache-entry> <cache-entry> <class>servlet</class> <name>com.ibm.ws.cache.servlet.IncludeTimeStamp.class</name> <sharing-policy>not-shared</sharing-policy> <cache-id> <component id="type" type="attribute"> <required>true</required> </component> <timeout>35</timeout> <priority>1</priority> </cache-id> </cache-entry> <cache-entry> <class>JAXRPCClient</class> <name> http://localhost:9080/dynacachetests/services/Counter </name> <cache-id> <component id="http://schemas.xmlsoap.org/soap/envelope/:Counter" type="SOAPHeaderEntry" /> <timeout>0</timeout> </cache-id> <cache-id> <component id="http://schemas.xmlsoap.org/soap/envelope/:urn:headerNS:Counter" type="SOAPHeaderEntry" /> <timeout>0</timeout> </cache-id> <cache-id> <component id="" type="operation"> <value> http://counter.webservices.cache.ws.ibm.com:counter1 </value> </component> <component id="in" type="part"></component> <timeout>0</timeout> </cache-id> <cache-id> <component id="Hash" type="SOAPEnvelope" /> <timeout>0</timeout> </cache-id> <dependency-id> Counter_in <component id="http://schemas.xmlsoap.org/soap/envelope/:urn:headerNS:Counter" type="SOAPHeaderEntry"> <required>true</required> </component> </dependency-id> <invalidation> Counter_in <component id="http://schemas.xmlsoap.org/soap/envelope/:urn:headerNS:Reset" type="SOAPHeaderEntry"> <required>true</required> </component> </invalidation> </cache-entry> <cache-entry> <class>JAXRPCClient</class> <name> http://localhost:9080/dynacachetests/services/AddressBookBean </name> <cache-id> <component id="" type="operation"> <value> http://addr.webservices.cache.ws.ibm.com:getAddressFromName </value> </component> <component id="name" type="part"></component> <component id="country" type="part"></component> <timeout>0</timeout> </cache-id> <dependency-id> AddressBook <component id="" type="operation" ignore-value="true"> <value> http://addr.webservices.cache.ws.ibm.com:getAddressFromName </value> <required>true</required> </component> <component id="name" type="part"> <required>true</required> </component> </dependency-id> <invalidation> AddressBook <component id="" type="operation" ignore-value="true"> <value> http://addr.webservices.cache.ws.ibm.com:invalidate </value> <required>true</required> </component> <component id="name" type="part"> <required>true</required> </component> </invalidation> </cache-entry> <cache-entry> <class>JAXRPCClient</class> <name> http://localhost:9080/dynacachetests/services/StockQuote </name> <sharing-policy>shared-push</sharing-policy> <cache-id> <idgenerator> com.ibm.ws.cache.webservices.stock.QuoteIdGenerator </idgenerator> <metadatagenerator> com.ibm.ws.cache.webservices.stock.QuoteMetaDataGenerator </metadatagenerator> <priority>5</priority> </cache-id> <invalidation> http://localhost:9080/dynacachetests/services/StockQuote <invalidationgenerator> com.ibm.ws.cache.webservices.stock.QuoteInvalidationGenerator </invalidationgenerator> </invalidation> </cache-entry> <cache-entry> <class>servlet</class> <name>/basic.do</name> <cache-id> <component id="arg1" type="parameter"> <required>true</required> </component> <timeout>35</timeout> <priority>1</priority> </cache-id> <dependency-id> struts <component id="arg1" type="parameter"> <required>true</required> </component> </dependency-id> <invalidation> struts <component id="inv" type="parameter"> <required>true</required> </component> </invalidation> </cache-entry> <cache-entry> <class>servlet</class> <name>/forward.do</name> <cache-id> <property name="EdgeCacheable">true</property> <component id="type" type="parameter"> <required>true</required> <value>esiParentConsume</value> </component> <component id="JSESSIONID" type="cookie" /> <timeout>35</timeout> <priority>1</priority> </cache-id> </cache-entry> <cache-entry> <class>servlet</class> <name>/strutsTimeStamp.jsp</name> <cache-id> <timeout>35</timeout> <priority>1</priority> </cache-id> </cache-entry> <cache-entry> <class>servlet</class> <name>/STTimeStamp</name> <cache-id> <timeout>35</timeout> <priority>1</priority> </cache-id> </cache-entry> <cache-entry> <class>servlet</class> <name>/child1.do</name> <cache-id> <timeout>35</timeout> <priority>1</priority> </cache-id> </cache-entry> <cache-entry> <class>servlet</class> <name>/stConsumeFragment.do</name> <cache-id> <component id="whoami" type="parameter"> <required>true</required> <value>grandparent</value> </component> <property name="consume-subfragments">true</property> <timeout>35</timeout> <priority>1</priority> </cache-id> </cache-entry> <cache-entry> <class>servlet</class> <name>/stConsumeParent.jsp</name> <property name="consume-subfragments">true</property> <cache-id> <timeout>35</timeout> <priority>1</priority> </cache-id> </cache-entry> <cache-entry> <class>servlet</class> <name>/stDNCFragment.do</name> <property name="consume-subfragments">true</property> <cache-id> <component id="whoami" type="parameter"> <required>true</required> <value>grandparent</value> </component> <timeout>35</timeout> <priority>1</priority> </cache-id> <dependency-id> DNC <component id="whoami" type="parameter"> <required>true</required> </component> </dependency-id> <invalidation> DNC <component id="inv" type="parameter"> <required>true</required> </component> </invalidation> </cache-entry> <cache-entry> <class>servlet</class> <name>/stDNCGrandChild.jsp</name> <property name="do-not-consume">true</property> <cache-id> <timeout>35</timeout> <priority>1</priority> </cache-id> </cache-entry> <cache-entry> <class>servlet</class> <name>/stSaveAttrParent.do</name> <property name="save-attributes">false</property> <cache-id> <timeout>35</timeout> <priority>1</priority> </cache-id> </cache-entry> <cache-entry> <class>servlet</class> <name>/stDisplayInfo.jsp</name> <cache-id> <component id="lbean" type="session"> <required>true</required> </component> <timeout>35</timeout> <priority>1</priority> </cache-id> </cache-entry> <cache-entry> <class>servlet</class> <name>/tileParent.jsp</name> <cache-id> <component id="type" type="parameter"> <required>true</required> <value>strut</value> </component> <timeout>180</timeout> <priority>1</priority> </cache-id> </cache-entry> <cache-entry> <class>servlet</class> <name>/tileChild.jsp</name> <cache-id> <component id="arg1" type="parameter"> <required>true</required> </component> <timeout>180</timeout> <priority>1</priority> </cache-id> </cache-entry> <cache-entry> <class>servlet</class> <name>/tileChildServlet</name> <cache-id> <timeout>180</timeout> <priority>1</priority> </cache-id> </cache-entry> <cache-entry> <class>servlet</class> <name>/tileEsiParent.jsp</name> <cache-id> <component id="type" type="parameter"> <value>edgeable</value> </component> <property name="EdgeCacheable">true</property> <timeout>180</timeout> <priority>1</priority> </cache-id> </cache-entry> <cache-entry> <class>servlet</class> <name>/tileEsiChild.jsp</name> <property name="EdgeCacheable">true</property> <cache-id> <component id="arg1" type="parameter"> <required>true></required> </component> <timeout>180</timeout> <priority>1</priority> </cache-id> </cache-entry> <cache-entry> <class>servlet</class> <name>/tileGrandParent.jsp</name> <property name="consume-subfragments">true</property> <cache-id> <timeout>180</timeout> <priority>1</priority> </cache-id> </cache-entry> <cache-entry> <class>servlet</class> <name>/tileDNCGrandParent.jsp</name> <property name="consume-subfragments">true</property> <cache-id> <timeout>180</timeout> <priority>1</priority> </cache-id> </cache-entry> <cache-entry> <class>servlet</class> <name>/tileCSFChild1.jsp</name> <property name="do-not-consume">true</property> <cache-id> <component id="arg1" type="parameter"> <value>DNC</value> </component> <timeout>180</timeout> <priority>1</priority> </cache-id> <dependency-id> DNC <component id="arg1" type="parameter"> <required>true</required> </component> </dependency-id> <invalidation> DNC <component id="inv" type="parameter"> <required>true</required> </component> </invalidation> </cache-entry> <cache-entry> <class>servlet</class> <name>/tileSaveAttrParent.jsp</name> <property name="save-attributes">false</property> <cache-id> <timeout>35</timeout> <priority>1</priority> </cache-id> </cache-entry> <cache-entry> <class>servlet</class> <name>/header.jsp</name> <cache-id> <timeout>35</timeout> <priority>1</priority> </cache-id> </cache-entry> <cache-entry> <class>servlet</class> <name>/body.jsp</name> <cache-id> <timeout>35</timeout> <priority>1</priority> </cache-id> </cache-entry> <cache-entry> <class>servlet</class> <name>/footer.jsp</name> <cache-id> <timeout>35</timeout> <priority>1</priority> </cache-id> </cache-entry> <cache-entry> <class>servlet</class> <name>/testSTDefinition.jsp</name> <property name="consume-subfragments">true</property> <cache-id> <timeout>35</timeout> <priority>1</priority> </cache-id> </cache-entry> <cache-entry> <class>servlet</class> <name>/SavAttrParent/TrueExclude</name> <property name="save-attributes"> true <exclude>att1</exclude> </property> <cache-id> <timeout>35</timeout> <priority>1</priority> </cache-id> </cache-entry> <cache-entry> <class>servlet</class> <name>/SavAttrParent/FalseExclude</name> <property name="save-attributes"> false <exclude>att1</exclude> </property> <cache-id> <timeout>35</timeout> <priority>1</priority> </cache-id> </cache-entry> <cache-entry> <class>servlet</class> <name>/DCP</name> <cache-id> <timeout>180</timeout> <priority>2</priority> </cache-id> </cache-entry> <cache-entry> <class>servlet</class> <name>/DCPParent</name> <property name="consume-subfragments">true</property> <cache-id> <timeout>180</timeout> <priority>2</priority> </cache-id> </cache-entry> <cache-entry> <class>servlet</class> <name>/DCPGrandParent</name> <property name="consume-subfragments">true</property> <cache-id> <timeout>180</timeout> <priority>2</priority> </cache-id> </cache-entry> <cache-instance name="services/cache/servletInstance_2"> <cache-entry> <class>servlet</class> <name>/TimeStampCM2</name> <sharing-policy>not-shared</sharing-policy> <cache-id> <component id="arg1" type="parameter"> <required>true</required> </component> </cache-id> </cache-entry> </cache-instance> <cache-instance name="services/cache/servletInstance_3"> <cache-entry> <class>servlet</class> <name>/TimeStampCM3</name> <sharing-policy>not-shared</sharing-policy> <cache-id> <component id="arg1" type="parameter"> <required>true</required> </component> </cache-id> </cache-entry> </cache-instance> <cache-instance name="services/cache/servletInstance_4"> <cache-entry> <class>servlet</class> <name>ServletInstance_Esi1_ESIParent.jsp</name> <property name="EdgeCacheable">true</property> <cache-id> <component id="parm1" type="parameter" /> <timeout>180</timeout> <priority>2</priority> </cache-id> <dependency-id> ci_dep1 <component id="parm1" type="parameter" /> </dependency-id> </cache-entry> </cache-instance> <cache-instance name="services/cache/servletInstance_5"> <cache-entry> <class>servlet</class> <name>ServletInstance_Esi2_ESIChild.jsp</name> <property name="EdgeCacheable">true</property> <cache-id> <component id="parm2" type="parameter" /> <timeout>180</timeout> <priority>2</priority> </cache-id> <dependency-id> ci_dep4 <component id="parm2" type="parameter" /> </dependency-id> </cache-entry> </cache-instance> <cache-entry> <class>servlet</class> <name>JspRecompileTest.jsp</name> <cache-id> <component id="parm1" type="parameter" /> <timeout>180</timeout> <priority>2</priority> </cache-id> </cache-entry> <cache-entry> <class>servlet</class> <name>/DNCForwardServlet</name> <cache-id> <component id="test" type="parameter"> <required>true</required> <value>test1</value> <value>test2</value> <value>test3</value> <value>test4</value> <value>test6</value> <value>test8</value> <value>test10</value> </component> <property name="consume-subfragments">true</property> </cache-id> <cache-id> <component id="test" type="parameter"> <required>true</required> <value>test5</value> </component> <property name="consume-subfragments">true</property> <property name="do-not-consume">true</property> </cache-id> <cache-id> <component id="test" type="parameter"> <required>true</required> <value>test7</value> <value>test9</value> </component> <property name="EdgeCacheable">true</property> <property name="consume-subfragments">true</property> </cache-id> </cache-entry> <cache-entry> <class>servlet</class> <name>/DNCGrandParent.jsp</name> <cache-id> <component id="test" type="parameter"> <required>true</required> <value>test1</value> </component> </cache-id> <cache-id> <component id="test" type="parameter"> <required>true</required> <value>test2</value> </component> <property name="consume-subfragments">true</property> </cache-id> <cache-id> <component id="test" type="parameter"> <required>true</required> <value>test3</value> </component> <property name="consume-subfragments">true</property> <property name="do-not-consume">true</property> </cache-id> <cache-id> <component id="test" type="parameter"> <required>true</required> <value>test5</value> </component> <property name="consume-subfragments">true</property> <property name="do-not-consume">true</property> </cache-id> <dependency-id> DNC3 <component id="test" type="parameter"> <required>true</required> </component> </dependency-id> <invalidation> DNC3 <component id="inv3" type="parameter"> <required>true</required> </component> </invalidation> </cache-entry> <cache-entry> <class>servlet</class> <name>/DNCParent1.jsp</name> <cache-id> <component id="test" type="parameter"> <required>true</required> <value>test1</value> <value>test3</value> </component> </cache-id> <cache-id> <component id="test" type="parameter"> <required>true</required> <value>test2</value> </component> <property name="consume-subfragments">true</property> </cache-id> <cache-id> <component id="test" type="parameter"> <required>true</required> <value>test5</value> </component> <property name="consume-subfragments">true</property> <property name="do-not-consume">true</property> </cache-id> <dependency-id> DNC2 <component id="test" type="parameter"> <required>true</required> </component> </dependency-id> <invalidation> DNC2 <component id="inv2" type="parameter"> <required>true</required> </component> </invalidation> </cache-entry> <cache-entry> <class>servlet</class> <name>/DNCChild1.jsp</name> <cache-id> <component id="test" type="parameter"> <required>true</required> <value>test3</value> </component> </cache-id> <cache-id> <component id="test" type="parameter"> <required>true</required> <value>test1</value> <value>test2</value> <value>test4</value> <value>test7</value> </component> <property name="do-not-consume">true</property> </cache-id> <cache-id> <component id="test" type="parameter"> <required>true</required> <value>test5</value> </component> <property name="consume-subfragments">true</property> <property name="do-not-consume">true</property> </cache-id> <cache-id> <component id="test" type="parameter"> <required>true</required> <value>test6</value> </component> <property name="EdgeCacheable">true</property> <property name="do-not-consume">true</property> </cache-id> <cache-id> <component id="test" type="parameter"> <required>true</required> <value>test10</value> </component> <property name="EdgeCacheable">true</property> <property name="do-not-consume">false</property> </cache-id> <dependency-id> DNC1 <component id="test" type="parameter"> <required>true</required> </component> </dependency-id> <invalidation> DNC1 <component id="inv1" type="parameter"> <required>true</required> </component> </invalidation> </cache-entry> <cache-entry> <class>servlet</class> <name>/JSTLForwardServlet</name> <cache-id> <component id="test" type="parameter"> <required>true</required> <value>test1</value> </component> <property name="consume-subfragments">true</property> </cache-id> </cache-entry> <cache-entry> <class>servlet</class> <name>/JSTLChild1.jsp</name> <cache-id> <component id="test" type="parameter"> <required>true</required> <value>test1</value> </component> <property name="do-not-consume">true</property> </cache-id> <dependency-id> JSTL1 <component id="test" type="parameter"> <required>true</required> </component> </dependency-id> <invalidation> JSTL1 <component id="inv1" type="parameter"> <required>true</required> </component> </invalidation> </cache-entry> <cache-entry> <class>servlet</class> <name>/PreviewServlet</name> <property name="EdgeCacheable">true</property> <property name="consume-subfragments">true</property> <cache-id> <priority>3</priority> </cache-id> </cache-entry> <cache-entry> <class>servlet</class> <name>/PreviewChildServlet</name> <property name="EdgeCacheable">true</property> <cache-id> <priority>3</priority> </cache-id> </cache-entry> <cache-entry> <class>servlet</class> <name>/IsUncacheable.jsp</name> <cache-id> <component id="cacheable" type="parameter"> <required>true</required> <value>true</value> </component> </cache-id> </cache-entry> <cache-entry> <class>servlet</class> <name>/Afpa.jsp</name> <property name="ExternalCache">afpa</property> <cache-id> <timeout>0</timeout> </cache-id> </cache-entry> <!-- CacheMonitor CachePolicies Test entries --> <cache-entry> <class>servlet</class> <name>/CacheMonitorTestServletPolicy</name> <sharing-policy>shared-push</sharing-policy> <property name="EdgeCacheable">true</property> <property name="ExternalCache">CMTextCache</property> <cache-id> <component id="CMTparameter" type="parameter" /> <component id="CMTsession" type="session" /> </cache-id> <cache-id> <component id="CMTcookie" type="cookie" /> <component id="CMTattribute" type="attribute" /> </cache-id> <dependency-id> <component id="CMTparameterList" type="parameter-list" /> </dependency-id> <invalidation> <component id="CMTservletPath" type="servletpath" /> </invalidation> </cache-entry> <cache-entry> <class>command</class> <name>/CacheMonitorTestCommandPolicy</name> <sharing-policy>not-shared</sharing-policy> <property name="ApplicationName">CMTAppName</property> <property name="persist-to-disk">false</property> <property name="delay-invalidations">true</property> <cache-id> <component id="CMTmethod" type="method" /> </cache-id> <cache-id> <component id="CMTfield" type="field" /> </cache-id> <dependency-id> <component id="CMTmethod" type="method" /> </dependency-id> <invalidation> <component id="CMTmethod" type="method" /> </invalidation> </cache-entry> <cache-entry> <class>webservice</class> <name>/CacheMonitorTestWebservicePolicy</name> <sharing-policy>shared-push-pull</sharing-policy> <property name="consume-subfragments">true</property> <property name="do-not-consume">true</property> <cache-id> <component id="CMTSOAPEnvelope" type="SOAPEnvelope" /> <component id="CMTSOAPAction" type="SOAPAction" /> </cache-id> <cache-id> <component id="CMTserviceOperation" type="serviceOperation" /> <component id="CMTserviceOperationParameter" type="serviceOperationParameter" /> </cache-id> <dependency-id> <component id="CMTserviceOperation" type="serviceOperation" /> </dependency-id> <invalidation> <component id="CMTSOAPEnvelope" type="SOAPEnvelope" /> </invalidation> </cache-entry> <cache-entry> <class>portlet</class> <name>/CacheMonitorTestPortletPolicy</name> <sharing-policy>shared-pull</sharing-policy> <property name="save-attributes">false</property> <cache-id> <component id="CMTheader" type="header" /> </cache-id> <cache-id> <component id="CMTlocale" type="locale" /> <component id="CMTrequestType" type="requestType" /> </cache-id> <dependency-id> <component id="CMTrequestType" type="requestType" /> </dependency-id> </cache-entry> <cache-entry> <class>servlet</class> <name>/RangeTimeStamp.jsp</name> <!-- valid specs, will be cached if they match --> <cache-id> <component id="test" type="parameter"> <required>true</required> <value>RangeTest10</value> </component> <component id="inputvalue" type="parameter"> <required>true</required> <value>9</value> <value> <range low="-20" high="-10" /> </value> </component> </cache-id> <cache-id> <component id="test" type="parameter"> <required>true</required> <value>RangeTest11</value> </component> <component id="inputvalue" type="parameter"> <required>true</required> <value>0</value> </component> </cache-id> <cache-id> <component id="test" type="parameter"> <required>true</required> <value>RangeTest20</value> </component> <component id="inputvalue" type="parameter"> <required>true</required> <not-value> <range low="-20" high="-10" /> </not-value> </component> </cache-id> <cache-id> <component id="test" type="parameter"> <required>true</required> <value>RangeTest21</value> </component> <component id="inputvalue" type="parameter"> <required>true</required> <value> <range low="-50" high="200" /> </value> <not-value> <range low="-20" high="-10" /> </not-value> </component> </cache-id> <cache-id> <component id="test" type="parameter"> <required>true</required> <value>RangeTest22</value> </component> <component id="inputvalue" type="parameter"> <required>true</required> <value> <range low="20" high="30" /> </value> <not-value> <range low="0" high="50" /> </not-value> </component> </cache-id> <cache-id> <component id="test" type="parameter"> <required>true</required> <value>RangeTest23</value> </component> <component id="inputvalue" type="parameter"> <required>true</required> <value> <range low="0" high="30" /> </value> <not-value> <range low="20" high="50" /> </not-value> </component> </cache-id> <cache-id> <component id="test" type="parameter"> <required>true</required> <value>RangeTest24</value> </component> <component id="inputvalue" type="parameter"> <required>true</required> <value> <range low="0" high="10" /> </value> <value> <range low="20" high="30" /> </value> </component> </cache-id> <cache-id> <component id="test" type="parameter"> <required>true</required> <value>RangeTest30</value> </component> <component id="inputvalue" type="parameter"> <required>true</required> <value> <range low="12" high="50" /> <range low="25" high="100" /> </value> </component> </cache-id> <cache-id> <component id="test" type="parameter"> <required>true</required> <value>RangeTest31</value> </component> <component id="inputvalue" type="parameter"> <required>true</required> <value> <range low="12" high="50" /> </value> <value> <range low="25" high="100" /> </value> </component> </cache-id> <cache-id> <component id="test" type="parameter"> <required>true</required> <value>RangeTest32</value> </component> <component id="NoSuchParameterIsPresent" type="parameter"> <value> <range low="12" high="50" /> </value> <value> <range low="25" high="100" /> </value> <required>false</required> </component> </cache-id> <cache-id> <component id="test" type="parameter"> <required>true</required> <value>RangeTest33</value> </component> <component id="NoSuchParameterIsPresent" type="parameter"> <required>true</required> <value> <range low="12" high="50" /> </value> <value> <range low="25" high="100" /> </value> </component> </cache-id> <cache-id> <component id="test" type="parameter"> <required>true</required> <value>RangeTest34</value> </component> <component id="NoSuchParameterIsPresent" type="parameter"> <required>true</required> </component> </cache-id> <cache-id> <component id="test" type="parameter"> <required>true</required> <value>RangeTest35</value> </component> <component id="inputvalue" type="parameter"> <required>false</required> <value>requiredValue</value> </component> </cache-id> <cache-id> <component id="test" type="parameter"> <required>true</required> <not-value>RangeTest36</not-value> </component> <component id="inputvalue" type="parameter"> <required>false</required> <value>notThis</value> </component> </cache-id> <!-- <dependency-id> test <component id="test" type="parameter"> <required>true</required> </component> </dependency-id> <invalidation> test <component id="inv" type="parameter"> <required>true</required> </component> </invalidation> --> </cache-entry> <!-- ############################################################ --> <cache-entry> <class>servlet</class> <name>/RangeAttrChild.jsp</name> <!-- valid specs, will be cached if they match --> <cache-id> <component id="test" type="parameter"> <required>true</required> <value>RangeAttrTest10</value> </component> <component id="RangeTestAttribute" type="attribute"> <required>true</required> <value>9</value> <value> <range low="-20" high="-10" /> </value> </component> </cache-id> <cache-id> <component id="test" type="parameter"> <required>true</required> <value>RangeAttrTest11</value> </component> <component id="RangeTestAttribute" type="attribute"> <required>true</required> <value>0</value> </component> </cache-id> <cache-id> <component id="test" type="parameter"> <required>true</required> <value>RangeAttrTest20</value> </component> <component id="RangeTestAttribute" type="attribute"> <required>true</required> <not-value> <range low="-20" high="-10" /> </not-value> </component> </cache-id> <cache-id> <component id="test" type="parameter"> <required>true</required> <value>RangeAttrTest21</value> </component> <component id="RangeTestAttribute" type="attribute"> <required>true</required> <value> <range low="-50" high="200" /> </value> <not-value> <range low="-20" high="-10" /> </not-value> </component> </cache-id> <cache-id> <component id="test" type="parameter"> <required>true</required> <value>RangeAttrTest22</value> </component> <component id="RangeTestAttribute" type="attribute"> <required>true</required> <value> <range low="20" high="30" /> </value> <not-value> <range low="0" high="50" /> </not-value> </component> </cache-id> <cache-id> <component id="test" type="parameter"> <required>true</required> <value>RangeAttrTest23</value> </component> <component id="RangeTestAttribute" type="attribute"> <required>true</required> <value> <range low="0" high="30" /> </value> <not-value> <range low="20" high="50" /> </not-value> </component> </cache-id> <cache-id> <component id="test" type="parameter"> <required>true</required> <value>RangeAttrTest24</value> </component> <component id="RangeTestAttribute" type="attribute"> <required>true</required> <value> <range low="0" high="10" /> </value> <value> <range low="20" high="30" /> </value> </component> </cache-id> <cache-id> <component id="test" type="parameter"> <required>true</required> <value>RangeAttrTest30</value> </component> <component id="RangeTestAttribute" type="attribute"> <required>true</required> <value> <range low="12" high="50" /> <range low="25" high="100" /> </value> </component> </cache-id> <cache-id> <component id="test" type="parameter"> <required>true</required> <value>RangeAttrTest31</value> </component> <component id="RangeTestAttribute" type="attribute"> <required>true</required> <value> <range low="12" high="50" /> </value> <value> <range low="25" high="100" /> </value> </component> </cache-id> <cache-id> <component id="test" type="parameter"> <required>true</required> <value>RangeAttrTest32</value> </component> <component id="NO_SUCH_ATTRIBUTE" type="attribute"> <value> <range low="12" high="50" /> </value> <value> <range low="25" high="100" /> </value> <required>false</required> </component> </cache-id> <cache-id> <component id="test" type="parameter"> <required>true</required> <value>RangeAttrTest33</value> </component> <component id="NO_SUCH_ATTRIBUTE" type="attribute"> <required>true</required> <value> <range low="12" high="50" /> </value> <value> <range low="25" high="100" /> </value> </component> </cache-id> <dependency-id> test <component id="test" type="parameter"> <required>true</required> </component> </dependency-id> <invalidation> test <component id="inv" type="parameter"> <required>true</required> </component> </invalidation> </cache-entry> <!-- ############################################################ --> <skip-cache-attribute>prettypleaseskipcaching</skip-cache-attribute> <cache-entry> <class>servlet</class> <name>/SkipCache1.jsp</name> <cache-id> <component id="test" type="parameter"> <required>true</required> <value>test01</value> </component> </cache-id> </cache-entry> <cache-entry> <class>servlet</class> <name>/SkipCache2.jsp</name> <cache-id> <component id="test" type="parameter"> <required>true</required> <value>test02</value> </component> </cache-id> </cache-entry> <cache-entry> <class>servlet</class> <name>/SkipCacheChild1.jsp</name> <cache-id> <timeout>0</timeout> </cache-id> </cache-entry> <cache-entry> <class>servlet</class> <name>/SkipCacheChild2.jsp</name> <cache-id> <timeout>0</timeout> </cache-id> </cache-entry> <!-- ############################################################ --> <cache-entry> <class>servlet</class> <name>/CacheCookie1.jsp</name> <cache-id> <component id="test" type="parameter"> <value>test01</value> <required>true</required> </component> <timeout>35</timeout> <priority>1</priority> </cache-id> <dependency-id> test <component id="test" type="parameter"> <required>true</required> </component> </dependency-id> <invalidation> test <component id="inv" type="parameter"> <required>true</required> </component> </invalidation> </cache-entry> <cache-entry> <class>servlet</class> <name>/CacheCookie2.jsp</name> <property name="store-cookies"> true <exclude>cookie1</exclude> </property> <cache-id> <component id="test" type="parameter"> <value>test02</value> <required>true</required> </component> <timeout>35</timeout> <priority>1</priority> </cache-id> <dependency-id> test <component id="test" type="parameter"> <required>true</required> </component> </dependency-id> <invalidation> test <component id="inv" type="parameter"> <required>true</required> </component> </invalidation> </cache-entry> <cache-entry> <class>servlet</class> <name>/CacheCookie3.jsp</name> <property name="store-cookies"> false <exclude>cookie1</exclude> </property> <cache-id> <component id="test" type="parameter"> <value>test03</value> <required>true</required> </component> <timeout>35</timeout> <priority>1</priority> </cache-id> <dependency-id> test <component id="test" type="parameter"> <required>true</required> </component> </dependency-id> <invalidation> test <component id="inv" type="parameter"> <required>true</required> </component> </invalidation> </cache-entry> <cache-entry> <class>servlet</class> <name>/DoNotCacheParent.jsp</name> <cache-id> <component id="test" type="parameter"> <required>true</required> <value>test01</value> <value>test02</value> </component> </cache-id> </cache-entry> <cache-entry> <class>servlet</class> <name>/DoNotCacheChild.jsp</name> <cache-id> <component id="test" type="parameter"> <value>test01</value> <required>true</required> </component> </cache-id> <cache-id> <component id="test" type="parameter"> <value>test02</value> <required>true</required> </component> <property name="do-not-cache">true</property> </cache-id> </cache-entry> <!-- ############################################################ --> <cache-entry> <class>servlet</class> <name>/ConsumeSubfragmentsExcludeParent.jsp</name> <!-- Note: since the child jsps don't have their own cache-entry's, they should never be cached themselves, only as part of the parent result depending on this config --> <cache-id> <component id="test" type="parameter"> <required>true</required> <value>test01</value> </component> <property name="consume-subfragments"> true <exclude>/ConsumeSubfragmentsExcludeChild1.jsp</exclude> </property> </cache-id> <cache-id> <component id="test" type="parameter"> <required>true</required> <value>test02</value> </component> </cache-id> <cache-id> <component id="test" type="parameter"> <required>true</required> <value>test03</value> </component> <property name="consume-subfragments">true</property> </cache-id> </cache-entry> <!-- ############################################################ --> <cache-entry> <class>servlet</class> <name>/static.jsp</name> <property name="consume-subfragments">true</property> <cache-id> <timeout>0</timeout> </cache-id> </cache-entry> <cache-entry> <class>static</class> <name>/static.html</name> <cache-id> <timeout>0</timeout> </cache-id> </cache-entry> <cache-entry> <class>static</class> <name> com.ibm.ws.webcontainer.servlet.SimpleFileServlet.class </name> <cache-id> <component id="" type="pathinfo"> <required>true</required> </component> <component id="useSFServlet" type="parameter"> <required>true</required> <value>true</value> </component> <timeout>300</timeout> </cache-id> </cache-entry> <cache-entry> <class>static</class> <name>/static2.html</name> <cache-id> <timeout>0</timeout> </cache-id> </cache-entry> <cache-entry> <class>servlet</class> <name>/MultiIncludeParamRemoteServlet</name> <property name="consume-subfragments">false</property> <cache-id> <timeout>0</timeout> <component id="test" type="parameter"> <required>true</required> <value>MultiIncludeParamRemoteServlet</value> </component> </cache-id> </cache-entry> <cache-entry> <class>servlet</class> <name>/MultiIncludeParamRemoteServlet</name> <property name="consume-subfragments">false</property> <cache-id> <timeout>0</timeout> <component id="test" type="parameter"> <required>true</required> <value>MultiIncludeParamServlet</value> </component> </cache-id> </cache-entry> <cache-entry> <class>servlet</class> <name>/RemoteServlet</name> <property name="consume-subfragments">false</property> <property name="do-not-consume">true</property> <cache-id> <timeout>0</timeout> </cache-id> </cache-entry> <cache-entry> <class>servlet</class> <name>/RemoteServlet2</name> <property name="consume-subfragments">true</property> <cache-id> <timeout>0</timeout> </cache-id> </cache-entry> <cache-entry> <class>servlet</class> <name>/NonBlockingFragmentResponseServlet</name> <property name="consume-subfragments">true</property> <cache-id> <timeout>0</timeout> <component id="test" type="parameter"> <required>true</required> <value>NonBlockingFragmentResponseServlet</value> </component> </cache-id> </cache-entry> <cache-entry> <class>servlet</class> <name>/BlockingFragmentResponseServlet</name> <property name="consume-subfragments">false</property> <cache-id> <timeout>0</timeout> <component id="test" type="parameter"> <required>true</required> <value>BlockingFragmentResponseServlet</value> </component> </cache-id> </cache-entry> <cache-entry> <class>servlet</class> <name>/JSTLIKEA.jsp</name> <property name="consume-subfragments">true</property> <cache-id> <component id="test" type="parameter"> <required>true</required> <value>test1</value> </component> </cache-id> </cache-entry> </cache>