我有一个我支持的应用程序,当我运行它的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


Abstract Controller

07-24 15:03