xml - 引起: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
的 .
作为测试,我建议您尝试删除这些参数。如果你没有得到那个错误,你至少知道往哪个方向看;)
推荐阅读
- python - 线性指南针 python 动画
- java - How to remove properties of objects in ArrayList
- r - 在 R Studio 中使用 Lubridate 创建年、月、日列会产生意想不到的结果
- c# - 使用祖先和路径的 GCP DataStore 实体
- hadoop - 运行内置“compute pi”hadoop 作业的命令
- maven - 如何在 Maven pom.xml 中将字符串转换为等效的 Ascii(Hex)
- featuretools - Select amount of past data when calculating features
- reactjs - Material UI Tab label font-size is really small
- reactjs - How to use font-face font family in react component render?
- entity-framework - 使用带有 AccessToken 的 SqlConnection 的 Entity Framework 6 迁移