Из вашего описания я понимаю, что Application
- это класс, написанный вами (а не предоставленный Ваадином), и что вы каким-то образом сохраняете экземпляры этого класса в ThreadLocal
.
.объяснил бы поведение, которое вы видите: Tomcat запустит несколько потоков для обработки клиентских запросов.Для каждого потока новый экземпляр Application
будет сохранен в ThreadLocal
.
Попробуйте вместо этого (злой) шаблон Singleton или (лучше) внедрение зависимостей вместо одноэлементной области.
Если вы используете шаблон синглтона, убедитесь, что вы используете код в разделе «Построение в многопоточных приложениях», иначе вы получите странные ошибки в Tomcat.В этой статье о JavaWorld это подробно объясняется: Просто синглтон
РЕДАКТИРОВАТЬ Основываясь на ваших отзывах: поведение, которое вы видите, является ожидаемым и правильным.Tomcat использует потоки для обработки запросов, и он заранее создаст пару, чтобы быть готовым к бизнесу (в вашем случае он порождает три).