Package org.apache.jasper.runtime
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.
-
-
Nested Class Summary
Nested Classes Modifier and Type Class Description private static class
PerThreadTagHandlerPool.PerThreadData
-
Field Summary
Fields Modifier and Type Field Description private int
maxSize
private java.lang.ThreadLocal<PerThreadTagHandlerPool.PerThreadData>
perThread
private java.util.Vector<PerThreadTagHandlerPool.PerThreadData>
perThreadDataVector
-
Fields inherited from class org.apache.jasper.runtime.TagHandlerPool
OPTION_MAXSIZE, OPTION_TAGPOOL
-
-
Constructor Summary
Constructors Constructor Description PerThreadTagHandlerPool()
Constructs a tag handler pool with the default capacity.
-
Method Summary
All Methods Instance Methods Concrete Methods Modifier and Type Method Description javax.servlet.jsp.tagext.Tag
get(java.lang.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
release()
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 org.apache.jasper.runtime.TagHandlerPool
getOption, getTagHandlerPool, reuse
-
-
-
-
Field Detail
-
maxSize
private int maxSize
-
perThreadDataVector
private java.util.Vector<PerThreadTagHandlerPool.PerThreadData> perThreadDataVector
-
perThread
private java.lang.ThreadLocal<PerThreadTagHandlerPool.PerThreadData> perThread
-
-
Method Detail
-
init
protected void init(javax.servlet.ServletConfig config)
- Overrides:
init
in classTagHandlerPool
-
get
public javax.servlet.jsp.tagext.Tag get(java.lang.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 classTagHandlerPool
- 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 classTagHandlerPool
-
-