Troubleshooting
Problem
An SRVE0068E message similar to the following one occurs when you use servlet caching with asynchronous request dispatcher (ARD): [8/4/16 14:37:29:051 EDT] 000000f6 ServletWrappe E com.ibm.ws.webcontainer.servlet.ServletWrapper service SRVE0068E: An exception was thrown by one of the service methods of the servlet [xxxxx] in application [xxxx]. Exception created : [java.lang.IllegalStateException: NULL parent fragment composer for an ASYNC Include.
Cause
WebSphere Application Server Version 9.0 introduced a performance enhancement to servlet caching. Prior to Version 9.0, all requests flowed through servlet caching when servlet caching was enabled. In Version 9.0, only requests that flow to a web module with a cachespec.xml file flow through servlet caching.
Resolving The Problem
If an application is using ARD or relying on all requests to flow through servlet caching, then a caching policy must exist in a cachespec.xml file for the request that needs to flow through servlet caching. For example, when an ARD child exists in a web module that contains a cachespec.xml file, then the child fragment flows through servlet caching. If the parent is not in a web module with a cachespec.xml file, then servlet caching never sees the parent fragment. As a result, when the child fragment flows through servlet caching, an exception is created because servlet caching does not know the parent fragment.
To resolve the exception, place a cachespec.xml file in the WEB-INF directory of the web module of the parent fragment. This placement ensures that the parent fragment flows through servlet caching.
Was this topic helpful?
Document Information
Modified date:
15 June 2018
UID
swg21989663