本文整理匯總了Java中javax.servlet.jsp.tagext.Tag.release方法的典型用法代碼示例。如果您正苦於以下問題:Java Tag.release方法的具體用法?Java Tag.release怎麽用?Java Tag.release使用的例子?那麽, 這裏精選的方法代碼示例或許可以為您提供幫助。您也可以進一步了解該方法所在類javax.servlet.jsp.tagext.Tag
的用法示例。
在下文中一共展示了Tag.release方法的6個代碼示例,這些例子默認根據受歡迎程度排序。您可以為喜歡或者感覺有用的代碼點讚,您的評價將有助於係統推薦出更棒的Java代碼示例。
示例1: reuse
import javax.servlet.jsp.tagext.Tag; //導入方法依賴的package包/類
/**
* 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.
*
* @param handler Tag handler to add to this tag handler pool
*/
public void reuse(Tag handler) {
synchronized( this ) {
if (current < (handlers.length - 1)) {
handlers[++current] = handler;
return;
}
}
// There is no need for other threads to wait for us to release
handler.release();
if (Constants.INJECT_TAGS) {
try {
instanceManager.destroyInstance(handler);
} catch (Exception e) {
log.warn("Error processing preDestroy on tag instance of "
+ handler.getClass().getName(), e);
}
}
}
示例2: reuse
import javax.servlet.jsp.tagext.Tag; //導入方法依賴的package包/類
/**
* 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.
*
* @param handler
* Tag handler to add to this tag handler pool
*/
public void reuse(Tag handler) {
synchronized (this) {
if (current < (handlers.length - 1)) {
handlers[++current] = handler;
return;
}
}
// There is no need for other threads to wait for us to release
handler.release();
try {
instanceManager.destroyInstance(handler);
} catch (Exception e) {
Throwable t = ExceptionUtils.unwrapInvocationTargetException(e);
ExceptionUtils.handleThrowable(t);
log.warn("Error processing preDestroy on tag instance of " +
handler.getClass().getName(), t);
}
}
示例3: reuse
import javax.servlet.jsp.tagext.Tag; //導入方法依賴的package包/類
/**
* 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.
*
* @param handler Tag handler to add to this tag handler pool
*/
@Override
public void reuse(Tag handler) {
PerThreadData ptd = perThread.get();
if (ptd.current < (ptd.handlers.length - 1)) {
ptd.handlers[++ptd.current] = handler;
} else {
handler.release();
}
}
示例4: reuse
import javax.servlet.jsp.tagext.Tag; //導入方法依賴的package包/類
/**
* 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.
*
* @param handler Tag handler to add to this tag handler pool
*/
public void reuse(Tag handler) {
PerThreadData ptd=(PerThreadData)perThread.get();
if (ptd.current < (ptd.handlers.length - 1)) {
ptd.handlers[++ptd.current] = handler;
} else {
handler.release();
}
}
示例5: reuse
import javax.servlet.jsp.tagext.Tag; //導入方法依賴的package包/類
/**
* 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.
*
* @param handler
* Tag handler to add to this tag handler pool
*/
@Override
public void reuse(Tag handler) {
PerThreadData ptd = perThread.get();
if (ptd.current < (ptd.handlers.length - 1)) {
ptd.handlers[++ptd.current] = handler;
} else {
handler.release();
}
}
示例6: release
import javax.servlet.jsp.tagext.Tag; //導入方法依賴的package包/類
/**
* Calls the release() method of all available tag handlers in this tag
* handler pool.
*/
public synchronized void release() {
for (int i = current; i >= 0; i--) {
Tag handler = handlers[i];
handler.release();
try {
instanceManager.destroyInstance(handler);
} catch (Exception e) {
Throwable t = ExceptionUtils.unwrapInvocationTargetException(e);
ExceptionUtils.handleThrowable(t);
log.warn("Error processing preDestroy on tag instance of "
+ handler.getClass().getName(), t);
}
}
}