Package org.apache.jasper.compiler
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.
- Author:
- Glenn L. Nielsen
-
Constructor Summary
ConstructorDescriptionJspRuntimeContext
(ServletContext context, Options options) Create a JspRuntimeContext for a web application context. -
Method Summary
Modifier and TypeMethodDescriptionvoid
addWrapper
(String jspUri, JspServletWrapper jsw) Add a new JspServletWrapper.void
Method used by background thread to check the JSP dependencies registered with this class for JSP's.void
Method used by background thread to check if any JSP's should be unloaded.void
destroy()
Process a "destroy" event for this web application context.Get the SecurityManager Policy CodeSource for this web application context.int
Returns the number of JSPs for which JspServletWrappers exist, i.e., the number of JSPs that have been loaded into the webapp.int
Gets the number of JSPs that are in the JSP limiter queueint
Gets the current value of the JSP reload counter.int
Gets the number of JSPs that have been unloaded.long
Get the parent ClassLoader.Get the SecurityManager PermissionCollection for this web application context.getWrapper
(String jspUri) Get an already existing JspServletWrapper.void
Increments the JSP reload counter.boolean
void
makeYoungest
(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.void
removeWrapper
(String jspUri) Remove a JspServletWrapper.void
setJspReloadCount
(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
Get the parent ClassLoader.- Returns:
- ClassLoader parent
-
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 JSP's. -
isCompileCheckInProgress
public boolean isCompileCheckInProgress() -
getClassPath
- Returns:
- the classpath that is passed off to the Java compiler.
-
getLastJspQueueUpdate
public long getLastJspQueueUpdate()- Returns:
- Last time the update background task has run
-
checkUnload
public void checkUnload()Method used by background thread to check if any JSP's should be unloaded.
-