Class PerThreadTagHandlerPool

java.lang.Object
org.apache.jasper.runtime.TagHandlerPool
org.apache.jasper.runtime.PerThreadTagHandlerPool

public class PerThreadTagHandlerPool extends TagHandlerPool
Thread-local based pool of tag handlers that can be reused.
Author:
Jan Luehe, Costin Manolache
  • Field Summary

    Fields inherited from class TagHandlerPool

    OPTION_MAXSIZE, OPTION_TAGPOOL
  • Constructor Summary

    Constructors
    Constructor
    Description
    Constructs a tag handler pool with the default capacity.
  • Method Summary

    Modifier and Type
    Method
    Description
    javax.servlet.jsp.tagext.Tag
    get(Class handlerClass)
    Gets the next available tag handler from this tag handler pool, instantiating one if this tag handler pool is empty.
    protected void
    init(javax.servlet.ServletConfig config)
     
    void
    Calls the release() method of all tag handlers in this tag handler pool.
    void
    reuse(javax.servlet.jsp.tagext.Tag handler)
    Adds the given tag handler to this tag handler pool, unless this tag handler pool has already reached its capacity, in which case the tag handler's release() method is called.

    Methods inherited from class TagHandlerPool

    getOption, getTagHandlerPool, reuse

    Methods inherited from class Object

    clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
  • Constructor Details

    • PerThreadTagHandlerPool

      public PerThreadTagHandlerPool()
      Constructs a tag handler pool with the default capacity.
  • Method Details

    • init

      protected void init(javax.servlet.ServletConfig config)
      Overrides:
      init in class TagHandlerPool
    • get

      public javax.servlet.jsp.tagext.Tag get(Class handlerClass) throws javax.servlet.jsp.JspException
      Gets the next available tag handler from this tag handler pool, instantiating one if this tag handler pool is empty.
      Overrides:
      get in class TagHandlerPool
      Parameters:
      handlerClass - Tag handler class
      Returns:
      Reused or newly instantiated tag handler
      Throws:
      javax.servlet.jsp.JspException - if a tag handler cannot be instantiated
    • reuse

      public void reuse(javax.servlet.jsp.tagext.Tag handler)
      Adds the given tag handler to this tag handler pool, unless this tag handler pool has already reached its capacity, in which case the tag handler's release() method is called.
      Parameters:
      handler - Tag handler to add to this tag handler pool
    • release

      public void release()
      Calls the release() method of all tag handlers in this tag handler pool.
      Overrides:
      release in class TagHandlerPool