我有一个我支持的应用程序,当我运行它的 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 和 claim 中的方法,但异常消息说它正在寻找方法侧边栏类,即 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 和 claim 类扩展了侧边栏吗?我只是想知道我可以为开发人员指明什么方向。
最佳答案
尝试从 vfolderController 和 claimController 中删除@Controller
sidebar.java 包含:
@Controller
public class sidebarController
vfolder.java 包含:
public class vfolderController extends sidebarController
claim.java:包含:
public class claimController extends sidebarController
关于java - 使用 spring 注释查看 NoSuchMethodExceptions,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/29828699/