java - 使用 spring 注释查看 NoSuchMethodExceptions

标签 java spring exception annotations spring-annotations

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

关于java - 使用 spring 注释查看 NoSuchMethodExceptions,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/29828699/

相关文章:

java - java中的异常: write in a output file

java - 方法的异常处理协议(protocol)

java - 在 Java 中以相同方式处理多个方法中的多个异常的最佳实践

java - 我们可以对每个条目使用 Synchronized 而不是 ConcurrentHashMap 吗?

java - 如何处理并发数据库请求或如何在长时间运行的查询正在进行时运行短 SQL 查询

java - 使用 JAX-WS 声明 Web 方法中未使用的类型

java - 单元测试 Spring 抛出 BeanNotOfRequiredTypeException

Spring Integration - 以编程方式创建/拆卸 channel

java - Eclipse API : How to check whether an IFile is a . 项目或 .classpath 文件?

java - Spring @ComponentScan 注释不起作用