Log public final method at warn level for non-interface case as well
Closes gh-33939
This commit is contained in:
@@ -289,9 +289,15 @@ class CglibAopProxy implements AopProxy, Serializable {
|
||||
int mod = method.getModifiers();
|
||||
if (!Modifier.isStatic(mod) && !Modifier.isPrivate(mod)) {
|
||||
if (Modifier.isFinal(mod)) {
|
||||
if (logger.isWarnEnabled() && implementsInterface(method, ifcs)) {
|
||||
logger.warn("Unable to proxy interface-implementing method [" + method + "] because " +
|
||||
"it is marked as final, consider using interface-based JDK proxies instead.");
|
||||
if (logger.isWarnEnabled() && Modifier.isPublic(mod)) {
|
||||
if (implementsInterface(method, ifcs)) {
|
||||
logger.warn("Unable to proxy interface-implementing method [" + method + "] because " +
|
||||
"it is marked as final, consider using interface-based JDK proxies instead.");
|
||||
}
|
||||
else {
|
||||
logger.warn("Public final method [" + method + "] cannot get proxied via CGLIB, " +
|
||||
"consider removing the final marker or using interface-based JDK proxies.");
|
||||
}
|
||||
}
|
||||
if (logger.isDebugEnabled()) {
|
||||
logger.debug("Final method [" + method + "] cannot get proxied via CGLIB: " +
|
||||
|
||||
Reference in New Issue
Block a user