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 intFields inherited from class TagHandlerPool
OPTION_MAXSIZE, OPTION_TAGPOOL -
Constructor Summary
ConstructorsConstructorDescriptionConstructs a tag handler pool with the default capacity. -
Method Summary
Modifier and TypeMethodDescriptionjavax.servlet.jsp.tagext.TagGets the next available tag handler from this tag handler pool, instantiating one if this tag handler pool is empty.protected voidinit(javax.servlet.ServletConfig config) voidrelease()Calls the release() method of all tag handlers in this tag handler pool.voidreuse(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
-
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:
initin classTagHandlerPool
-
get
Gets the next available tag handler from this tag handler pool, instantiating one if this tag handler pool is empty.- Overrides:
getin 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:
releasein classTagHandlerPool
-