Package org.apache.jasper.runtime
Class PerThreadTagHandlerPool
java.lang.Object
org.apache.jasper.runtime.TagHandlerPool
org.apache.jasper.runtime.PerThreadTagHandlerPool
Thread-local based pool of tag handlers that can be reused.
-
Nested Class Summary
Nested Classes -
Field Summary
FieldsModifier and TypeFieldDescriptionprivate int
Fields inherited from class org.apache.jasper.runtime.TagHandlerPool
OPTION_MAXSIZE, OPTION_TAGPOOL
-
Constructor Summary
ConstructorsConstructorDescriptionConstructs a tag handler pool with the default capacity. -
Method Summary
Modifier and TypeMethodDescriptionjavax.servlet.jsp.tagext.Tag
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 Details
-
maxSize
private int maxSize -
perThreadDataVector
-
perThread
-
-
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 classTagHandlerPool
-
get
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
-