У меня есть проект Grails 3.1.7, который использует ядро безопасности Spring 3.1.1 и развернут на экземпляре tomcat (не уверен в версии tomcat).
Эта строка время от времени появляется в журнале:
13-Apr-2018 13: 31: 20.710 SEVERE [localhost-startStop-2]
org.apache.catalina.loader.WebappClassLoaderBase.checkThreadLocalMapForLeaks
Веб-приложение [my-app] создало ThreadLocal с ключом
тип [java.lang.ThreadLocal] (значение [java.lang.ThreadLocal@6678f8db]) и значение типа
[org.springframework.security.web.firewall.FirewalledResponse] (значение
[Org.springframework.security.web.firewall.FirewalledResponse@159982ef])
но не удалось удалить его, когда веб-приложение было остановлено. Потоки
будут обновляться с течением времени, чтобы попытаться избежать вероятной памяти
течь.
Я знаю, что это часть нормальной работы tomcats, когда проверяет утечки памяти , и кажется, что большинство людей просто игнорируют это. Это то, что мы сделали в прошлом. На этот раз нам сказали «исправить это», но, учитывая, что текущая переменная threadlocal происходит из весеннего класса безопасности, я не уверен, что исправить или как это исправить.
Итак, прежде чем я предприму длинный обходной путь, пытаясь отладить это, кто-нибудь знает, что здесь происходит? Кто-нибудь еще видел это? Это доброкачественно или мне нужно еще копать? Что я должен сказать службе безопасности, чтобы убедить их игнорировать это?
Любая помощь будет принята с благодарностью!