Вы сами ответили на вопрос - он объединен. См. Учебник по тегам , чтобы узнать, что реализовать в реализациях java, вместе со страницей, связанной с ним, содержащей последовательность вызовов :
ATag t = new ATag();
t.setPageContext(...);
t.setParent(...);
t.setAttribute1(value1);
t.setAttribute2(value2);
t.doStartTag();
t.doEndTag();
t.release();
То есть, повторно инициализируйте ваш экземпляр тега в doEndTag (), как того требует API. (изменено на комментарий Julien Kronegg, спасибо)
Обратите внимание, что пул, вероятно, зависит от контейнера, но вполне законен (и, в связи с настройкой API, возможно, выполняется везде).