Я сталкиваюсь с утечкой памяти (TOMCAT v9) в моем приложении относительно объекта Threadlocals, как показано ниже:
25-Sep-2019 17: 40: 34.752 SEVERE [Thread-10] org.apache.catalina.loader.WebappClassLoaderBase.checkThreadLocalMapForLeaks Веб-приложение [] создало ThreadLocal с ключом типа [java.lang.ThreadLocal] (значение [java.lang.ThreadLocal@7c606bab]) и значением типа [org.hibernate.internal.SessionImpl] (значение [SessionImpl (56310373)])), но не удалось удалить его при остановке веб-приложения.Потоки будут обновляться с течением времени, чтобы попытаться избежать возможной утечки памяти.
Я пытался закрыть объект сеанса каждый раз, когда мы открывали объект сеанса, но из-за отсутствия стандартов, используемых в кодировке i.Я сталкиваюсь с различными исключениями уровня Hibernate, поскольку некоторые объекты лениво выбираются, и закрытие сеанса приводит к неожиданным исключениям.
Теперь я пытаюсь добиться того же с помощью contextListener, если это возможно, не беспокоясь о закрытии каждого из них.объект сеанса.
Я пытался использовать System.gc (), но он не освобождает эти объекты ThreadLocal.
Не могли бы вы предложить какой-нибудь способ избавиться от этих объектов во время выключения?с помощью Listener или любым другим возможным способом?