Видя NoSuchMethodException с весенними аннотациями
У меня есть приложение, которое я поддерживаю, и когда я запустил JFR, я заметил, что оно генерирует сотни исключений в секунду, но в остальном работает нормально. Я хотел бы знать причины этих исключений.
У меня есть следующий код (я не разработчик, просто администратор сервера):
sidebar.java contains:
@Controller
public class sidebarController
vfolder.java contains:
@Controller
public class vfolderController extends sidebarController
claim.java: contains:
@Controller
public class claimController extends sidebarController
Исключения, которые я вижу брошенными и захваченными во время выполнения, являются AnnotationUtils.findAnnotation
, и все для методов, которые находятся в vfolder и утверждают, но в сообщении об исключении говорится, что он ищет методы в классе боковой панели, т.е. com.company.sidebarController.randomVFolderFunction(java.lang.String)
вместо того, чтобы смотреть в com.company.vfolder
, Как мне поступить? Это по замыслу? Я не могу себе представить, что это должно вызывать столько исключений. Пример трассировки стека:
Exception java.lang.NoSuchMethodException "com.company.sidebarController.randomVFolderFunction(java.lang.String)"
java.lang.Throwable.<init>(String)
java.lang.Exception.<init>(String)
java.lang.ReflectiveOperationException.<init>(String)
java.lang.NoSuchMethodException.<init>(String)
java.lang.Class.getDeclaredMethod.<init>(String, Class[])
org.springframework.core.annotation.AnnotationUtils.findAnnotation(Method, Class)
org.springframework.web.servlet.mvc.annotation.AnnotationMethodHandlerAdapter$ServletHandlerMethodInvoker.getModelAndView(Method, Class, Object, ExtendedModelMap, ServletWebRequest)
...
Это из-за того, что vfolder и классы заявок расширяют боковую панель? Мне просто интересно, в каком направлении я мог бы указать разработчику в отношении этого.
1 ответ
Попробуйте удалить @Controller из vfolderController и претендовать на контроль
sidebar.java содержит:
@Controller
public class sidebarController
vfolder.java содержит:
public class vfolderController extends sidebarController
Claim.java: содержит:
public class claimController extends sidebarController