Да, он протечет, и Glassfish даже не предупредит вас в соответствии с этой относительно недавней проблемой Glassfish JIRA:
http://java.net/jira/browse/GLASSFISH-14128
Однако необходимо сказать, что ThreadLocalспецифическая утечка не является «ошибкой» на серверах приложений / веб-сайтов как таковой, а связана с кодом в компонентах, работающих в этих контейнерах (независимо от того, являются ли эти компоненты сервлетами, сессионными компонентами и т. д.).В целом, веб-контейнеры пытаются защитить разработчика от написания большого количества кода обслуживания и сосредоточить его внимание на бизнес-логике.Однако с его стороны должно быть некоторое понимание того, как работает сервер приложений (пулы потоков, загрузчики классов, механизм развертывания / отмены развертывания, ...), чтобы такие вещи, как эта проблема ThreadLocal, выполнялись должным образом или избегались.Это не всегда легко, и это может быть очень сложно.Я помню, как читал о проблеме утечки памяти в Glassfish?связанные с использованием пользовательских уровней журнала.
Что делает Apache Tomcat, так это то, что он имеет вспомогательный механизм для предупреждения пользователя / устранения некоторых часто встречающихся проблем утечки памяти в пользовательском коде.Но даже по ссылке, приведенной в вопросе, вы можете прочитать, что не все возможные утечки памяти в ThreadLocal выполняются автоматически с использованием этого механизма.
Похоже, что Glassfish пока не имеет этой дополнительной функциональности.