Java反射:高负载时NoSuchMethodException

Java反射:高负载时NoSuchMethodException,java,reflection,Java,Reflection,只有当高负载以每秒25个呼叫(相同的场景)的速度运行时,我才会出现以下异常,并且不是每次呼叫都会出现异常,它只会出现几次。但是,当我一次运行几个呼叫时,我不会出现此异常。我检查了com.abc.block.Rules类中是否存在方法public execute method,这就是我运行几个调用时不会出现异常的原因 2019年10月2日02:00:01021[工人[23]]错误[SNode]80] 在类上的反射调用期间发生NoSuchMethodException com.abc.block.R

只有当高负载以每秒25个呼叫(相同的场景)的速度运行时,我才会出现以下异常,并且不是每次呼叫都会出现异常,它只会出现几次。但是,当我一次运行几个呼叫时,我不会出现此异常。我检查了com.abc.block.Rules类中是否存在方法public execute method,这就是我运行几个调用时不会出现异常的原因

2019年10月2日02:00:01021[工人[23]]错误[SNode]80] 在类上的反射调用期间发生NoSuchMethodException com.abc.block.Rules java.lang.NoSuchMethodException: com.abc.block.Rules.execute(com.abc.common.cdata)位于 java.lang.Class.getMethod(Class.java:1786)

运行时,负载反射无法正常工作。有什么意见吗

代码:

    Object port = service.getClass()
            .getMethod(xmlSNode.getPortMethodName()).invoke(service);

    outResult  = port
                 .getClass()
                 .getMethod(xmlSNode.getOperation().getName(),
                         inputs.getInputTypes())
                 .invoke(port, data);
规则调用:

public Object[] execute(cdata c) throws Exception{
...
}

请输入任何信息

这可能是一种竞争条件,最有可能出现在您的代码中。是否可能
端口
有时在短时间内没有预期的类型,或者您正在以非线程安全的方式访问某些数据(例如具有不应为静态的
静态
字段)?这些类型的错误通常不会在轻负载下出现,因为并发访问的时间间隔足够长,但是在重负载下,它可能会被发现。感谢您的输入。您能建议如何调试和解决此问题吗?@VJS尝试研究同步、锁定和Java并发性(通常):