如何解决引起:java.lang.NoSuchMethodException Spring Batch xml配置
我有一个批处理,每周在周五执行。 Spring xml配置如下。
<bean class="org.springframework.scheduling.quartz.SchedulerFactoryBean">
<property name="triggerpo">
<ref bean="cronTriggerForProcessOrder"/>
</property>
</bean>
<bean id="cronTriggerForProcessOrder" class="org.springframework.scheduling.quartz.CronTriggerFactoryBean">
<property name="jobDetail" ref="jobForProcessOrders" />
<property name="cronExpression" value="0 0 0 ? * FRI" />
</bean>
<bean id="jobForProcessOrders"
class="org.springframework.scheduling.quartz.MethodInvokingJobDetailFactoryBean">
<property name="targetObject" ref="ProcessOrdersController" />
<property name="targetMethod" value="processOrders"/>
<property name="concurrent" value="false" />
</bean>
<bean id="ProcessOrdersController" class="com.java.app.web.controller.ProcessOrderController">
</bean>
在控制器中删除了@controller 注释,因为它说控制器初始化了多次。现在我在 tomcat 启动时遇到错误。
Caused by: java.lang.NoSuchMethodException: com.java.app.web.controller.ProcessOrderController.processOrders()
方法 processOrders 确实存在于控制器中。
@RequestMapping(value="/processorder")
public class ProcessOrderController {
@RequestMapping(value="/processOrders.do")
public ModelAndView processOrders(HttpServletRequest req,HttpServletResponse res) throws AppException{
ModelAndView mav = new ModelAndView();
mav.setViewName("processorder");
processOrders();
return mav;
}
}
我不确定我在这方面犯了什么错误。任何人都可以帮助我理解吗?我可以应要求提供更多信息。
还想知道如何消除 xml 配置并使用纯基于注解的代码。
解决方法
我相信它试图找到一个没有参数的方法,但你的HttpServletRequest req,HttpServletResponse res
。
作为测试,我建议您尝试删除这些参数。如果你没有得到那个错误,你至少知道朝哪个方向看 ;)
版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。