Class JspRuntimeContext
java.lang.Object
org.apache.jasper.compiler.JspRuntimeContext
Class for tracking JSP compile time file dependencies when the >%@include file="..."%< directive is used. A
background thread periodically checks the files a JSP page is dependent upon. If a dependent file changes the JSP
page which included it is recompiled. Only used if a web application context is a directory.
-
Constructor Summary
ConstructorsConstructorDescriptionJspRuntimeContext(ServletContext context, Options options) Create a JspRuntimeContext for a web application context. -
Method Summary
Modifier and TypeMethodDescriptionvoidaddWrapper(String jspUri, JspServletWrapper jsw) Add a new JspServletWrapper.voidMethod used by background thread to check the JSP dependencies registered with this class for JSPs.voidMethod used by background thread to check if any JSPs should be unloaded.voiddestroy()Process a "destroy" event for this web application context.Returns the classpath that is passed off to the Java compiler.Get the SecurityManager Policy CodeSource for this web application context.intReturns the number of JSPs for which JspServletWrappers exist, i.e., the number of JSPs that have been loaded into the webapp.intGets the number of JSPs that are in the JSP limiter queueintGets the current value of the JSP reload counter.intGets the number of JSPs that have been unloaded.longReturns the last time the update background task has run.Returns the options for this runtime context.Get the parent ClassLoader.Get the SecurityManager PermissionCollection for this web application context.getSmaps()Returns the map of SMAP strata for compiled JSPs.getWrapper(String jspUri) Get an already existing JspServletWrapper.voidIncrements the JSP reload counter.booleanReturns whether a compile check is currently in progress.voidmakeYoungest(FastRemovalDequeue<JspServletWrapper>.Entry unloadHandle) Push unloadHandle for JspServletWrapper to front of the queue.push(JspServletWrapper jsw) Push a newly compiled JspServletWrapper into the queue at first execution of jsp.voidremoveWrapper(String jspUri) Remove a JspServletWrapper.voidsetJspReloadCount(int count) Resets the JSP reload counter.
-
Constructor Details
-
JspRuntimeContext
Create a JspRuntimeContext for a web application context. Loads in any previously generated dependencies from file.- Parameters:
context- ServletContext for web applicationoptions- The main Jasper options
-
-
Method Details
-
addWrapper
Add a new JspServletWrapper.- Parameters:
jspUri- JSP URIjsw- Servlet wrapper for JSP
-
getWrapper
Get an already existing JspServletWrapper.- Parameters:
jspUri- JSP URI- Returns:
- JspServletWrapper for JSP
-
removeWrapper
Remove a JspServletWrapper.- Parameters:
jspUri- JSP URI of JspServletWrapper to remove
-
push
Push a newly compiled JspServletWrapper into the queue at first execution of jsp. Destroy any JSP that has been replaced in the queue.- Parameters:
jsw- Servlet wrapper for jsp.- Returns:
- an unloadHandle that can be pushed to front of queue at later execution times.
-
makeYoungest
Push unloadHandle for JspServletWrapper to front of the queue.- Parameters:
unloadHandle- the unloadHandle for the jsp.
-
getJspCount
public int getJspCount()Returns the number of JSPs for which JspServletWrappers exist, i.e., the number of JSPs that have been loaded into the webapp.- Returns:
- The number of JSPs that have been loaded into the webapp
-
getCodeSource
Get the SecurityManager Policy CodeSource for this web application context.- Returns:
- CodeSource for JSP
-
getParentClassLoader
-
getPermissionCollection
Get the SecurityManager PermissionCollection for this web application context.- Returns:
- PermissionCollection permissions
-
destroy
public void destroy()Process a "destroy" event for this web application context. -
incrementJspReloadCount
public void incrementJspReloadCount()Increments the JSP reload counter. -
setJspReloadCount
public void setJspReloadCount(int count) Resets the JSP reload counter.- Parameters:
count- Value to which to reset the JSP reload counter
-
getJspReloadCount
public int getJspReloadCount()Gets the current value of the JSP reload counter.- Returns:
- The current value of the JSP reload counter
-
getJspQueueLength
public int getJspQueueLength()Gets the number of JSPs that are in the JSP limiter queue- Returns:
- The number of JSPs (in the webapp with which this JspServlet is associated) that are in the JSP limiter queue
-
getJspUnloadCount
public int getJspUnloadCount()Gets the number of JSPs that have been unloaded.- Returns:
- The number of JSPs (in the webapp with which this JspServlet is associated) that have been unloaded
-
checkCompile
public void checkCompile()Method used by background thread to check the JSP dependencies registered with this class for JSPs. -
isCompileCheckInProgress
public boolean isCompileCheckInProgress()Returns whether a compile check is currently in progress.- Returns:
trueif a compile check is in progress
-
getClassPath
Returns the classpath that is passed off to the Java compiler.- Returns:
- the compilation classpath
-
getLastJspQueueUpdate
public long getLastJspQueueUpdate()Returns the last time the update background task has run.- Returns:
- last time the update background task has run
-
getSmaps
Returns the map of SMAP strata for compiled JSPs.- Returns:
- the map of SMAP strata
-
getOptions
-
checkUnload
public void checkUnload()Method used by background thread to check if any JSPs should be unloaded.
-