【问题标题】:Seeing NoSuchMethodExceptions with spring annotations使用 spring 注释查看 NoSuchMethodExceptions
【发布时间】:2015-04-23 16:00:00
【问题描述】:

我有一个我支持的应用程序,当我运行它的 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 和声明类扩展了侧边栏吗?我只是想知道我可以为开发人员指明什么方向。

【问题讨论】:

    标签: java spring exception annotations spring-annotations


    【解决方案1】:

    尝试从 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

    【讨论】:

    • 我对扩展控制器做了更多阅读,stackoverflow.com/questions/15907494/… 中的评论建议扩展类应该有@Controller,而不是基类。并不是说我知道其中的含义,我只是想在这里的推理背后有一个可能的解释,我可以将其传递给开发人员。
    猜你喜欢
    • 2013-01-22
    • 1970-01-01
    • 2021-11-29
    • 2020-06-25
    • 2012-04-22
    • 1970-01-01
    • 2017-05-05
    • 2023-03-19
    • 2011-01-10
    相关资源
    最近更新 更多