Я запускаю WebLogic на JVM 1.7 с DCEVM (полная реализация) и HotSwapAgent с настраиваемым плагином, который запускается при каждой загрузке onClassLoad.
У меня возникают проблемы с Freemarker, который использует java.beans.Introspector. Что я обнаружил, так это тот факт, что когда я вызываю Introspector.flushCaches для метода, вызываемого HotSwapAgent (через ReflectionCommand), то BeanInfo в Introspector становится недействительным (проверено с помощью отладчика в этом потоке). Однако, когда я делаю запрос на сервер приложений WLS, Introspector для рабочего потока показывает старые значения!
Это похоже на локальную реализацию потока, но я не смог найти ничего, что указывало бы на это предположение в документации java.beans.Introspector.
Кто-нибудь знает, почему это происходит и как это решить?
В настоящее время я храню информацию о перезагруженных классах в отдельном классе и перезагружаю все, что находится в этом кеше, из потока запросов, который работает.
Спасибо за любую подсказку.