Package org.apache.jasper.compiler
Class JspRuntimeContext
- java.lang.Object
-
- org.apache.jasper.compiler.JspRuntimeContext
-
public final class JspRuntimeContext extends java.lang.Object
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
Constructors Constructor Description JspRuntimeContext(ServletContext context, Options options)
Create a JspRuntimeContext for a web application context.
-
Method Summary
All Methods Instance Methods Concrete Methods Modifier and Type Method Description void
addWrapper(java.lang.String jspUri, JspServletWrapper jsw)
Add a new JspServletWrapper.void
checkCompile()
Method used by background thread to check the JSP dependencies registered with this class for JSP's.void
checkUnload()
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.java.lang.String
getClassPath()
java.security.CodeSource
getCodeSource()
Get the SecurityManager Policy CodeSource for this web application context.int
getJspCount()
Returns the number of JSPs for which JspServletWrappers exist, i.e., the number of JSPs that have been loaded into the webapp.int
getJspQueueLength()
Gets the number of JSPs that are in the JSP limiter queueint
getJspReloadCount()
Gets the current value of the JSP reload counter.int
getJspUnloadCount()
Gets the number of JSPs that have been unloaded.long
getLastJspQueueUpdate()
Options
getOptions()
java.lang.ClassLoader
getParentClassLoader()
Get the parent ClassLoader.java.security.PermissionCollection
getPermissionCollection()
Get the SecurityManager PermissionCollection for this web application context.java.util.Map<java.lang.String,SmapStratum>
getSmaps()
JspServletWrapper
getWrapper(java.lang.String jspUri)
Get an already existing JspServletWrapper.void
incrementJspReloadCount()
Increments the JSP reload counter.boolean
isCompileCheckInProgress()
void
makeYoungest(FastRemovalDequeue.Entry unloadHandle)
Push unloadHandle for JspServletWrapper to front of the queue.FastRemovalDequeue.Entry
push(JspServletWrapper jsw)
Push a newly compiled JspServletWrapper into the queue at first execution of jsp.void
removeWrapper(java.lang.String jspUri)
Remove a JspServletWrapper.void
setJspReloadCount(int count)
Resets the JSP reload counter.
-
-
-
Constructor Detail
-
JspRuntimeContext
public JspRuntimeContext(ServletContext context, Options options)
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 Detail
-
addWrapper
public void addWrapper(java.lang.String jspUri, JspServletWrapper jsw)
Add a new JspServletWrapper.- Parameters:
jspUri
- JSP URIjsw
- Servlet wrapper for JSP
-
getWrapper
public JspServletWrapper getWrapper(java.lang.String jspUri)
Get an already existing JspServletWrapper.- Parameters:
jspUri
- JSP URI- Returns:
- JspServletWrapper for JSP
-
removeWrapper
public void removeWrapper(java.lang.String jspUri)
Remove a JspServletWrapper.- Parameters:
jspUri
- JSP URI of JspServletWrapper to remove
-
push
public FastRemovalDequeue.Entry push(JspServletWrapper jsw)
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
public void makeYoungest(FastRemovalDequeue.Entry unloadHandle)
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
public java.security.CodeSource getCodeSource()
Get the SecurityManager Policy CodeSource for this web application context.- Returns:
- CodeSource for JSP
-
getParentClassLoader
public java.lang.ClassLoader getParentClassLoader()
Get the parent ClassLoader.- Returns:
- ClassLoader parent
-
getPermissionCollection
public java.security.PermissionCollection 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
public java.lang.String 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
-
getSmaps
public java.util.Map<java.lang.String,SmapStratum> getSmaps()
-
getOptions
public Options getOptions()
-
checkUnload
public void checkUnload()
Method used by background thread to check if any JSP's should be unloaded.
-
-