Кажется, что сообщение выдается из метода org.springframework.beans.CachedIntrospectionResults#forClass
библиотеки spring-beans
, которая использует метод org.springframework.util.ClassUtils#isCacheSafe
библиотеки spring-core
для проверки того, является ли указанный класс безопасным для кэша (он проверяет, является ли класс загружается тем же загрузчиком классов, что и класс CachedIntrospectionResults).
CachedIntrospectionResults#forClass:
/**
* Create CachedIntrospectionResults for the given bean class.
* @param beanClass the bean class to analyze
* @return the corresponding CachedIntrospectionResults
* @throws BeansException in case of introspection failure
*/
static CachedIntrospectionResults forClass(Class<?> beanClass) {
...
if (ClassUtils.isCacheSafe(...)) {
...
}
else {
...
logger.debug("Not strongly caching class [" + beanClass.getName() + "] because it is not cache-safe");
}
...
}
ClassUtils#isCacheSafe:
/**
* Check whether the given class is cache-safe in the given context,
* i.e. whether it is loaded by the given ClassLoader or a parent of it.
* @param clazz the class to analyze
* @param classLoader the ClassLoader to potentially cache metadata in
* (may be {@code null} which indicates the system class loader)
*/
public static boolean isCacheSafe(Class<?> clazz, @Nullable ClassLoader classLoader) {
...
Возможно, источники CachedIntrospectionResults и ClassUtils Классы прояснят проблему.