Class JspRuntimeContext

java.lang.Object
org.apache.jasper.compiler.JspRuntimeContext

public final class JspRuntimeContext extends 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 Details

    • 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 application
      options - The main Jasper options
  • Method Details

    • addWrapper

      public void addWrapper(String jspUri, JspServletWrapper jsw)
      Add a new JspServletWrapper.
      Parameters:
      jspUri - JSP URI
      jsw - Servlet wrapper for JSP
    • getWrapper

      public JspServletWrapper getWrapper(String jspUri)
      Get an already existing JspServletWrapper.
      Parameters:
      jspUri - JSP URI
      Returns:
      JspServletWrapper for JSP
    • removeWrapper

      public void removeWrapper(String jspUri)
      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

      public void makeYoungest(FastRemovalDequeue<JspServletWrapper>.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 CodeSource getCodeSource()
      Get the SecurityManager Policy CodeSource for this web application context.
      Returns:
      CodeSource for JSP
    • getParentClassLoader

      public ClassLoader getParentClassLoader()
      Get the parent ClassLoader.
      Returns:
      ClassLoader parent
    • getPermissionCollection

      public 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 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 Map<String,SmapStratum> getSmaps()
    • checkUnload

      public void checkUnload()
      Method used by background thread to check if any JSP's should be unloaded.