[英]Spring @Scheduled annotation method runs more than once in a given time
Spring scheduled cron job is running twice in a scheduled time. Spring计划的cron作业在预定时间内运行两次。
Using spring 4.2.5 version. 使用spring 4.2.5版本。
REST API -> Jersey + Spring Integration. REST API - > Jersey + Spring Integration。
web.xml as below. web.xml如下。
<context-param>
<param-name>contextConfigLocation</param-name>
<param-value>classpath:applicationContext.xml</param-value>
</context-param>
<listener>
<listener-class>org.springframework.web.context.ContextLoaderListener</listener-class>
</listener>
<servlet>
<servlet-name>REST-Service-Servlet</servlet-name>
<servlet-class>com.sun.jersey.spi.spring.container.servlet.SpringServlet</servlet-class>
<init-param>
<param-name>com.sun.jersey.config.provider.packages</param-name>
<param-value>RESTController</param-value>
</init-param>
<init-param>
<param-name>com.sun.jersey.spi.container.ContainerResponseFilters</param-name>
<param-value>com.om.ResponseCorsFilter</param-value>
</init-param>
<init-param>
<param-name>com.sun.jersey.api.json.POJOMappingFeature</param-name>
<param-value>true</param-value>
</init-param>
<init-param>
<param-name>com.sun.jersey.spi.container.ContainerResponseFilters</param-name>
<param-value>com.sun.jersey.api.container.filter.LoggingFilter</param-value>
</init-param>
<load-on-startup>1</load-on-startup>
</servlet>
<servlet-mapping>
<servlet-name>REST-Service-Servlet</servlet-name>
<url-pattern>/api/*</url-pattern>
spring application context xml file for the task entry. 用于任务条目的spring application context xml文件。
<task:annotation-driven/>
Spring bean as follows. 春豆如下。
@Component("springBean")
public class SpringBean {
@Scheduled(cron = "0 35 23 * * ?")
public void job() {....}
Thanks for your help. 谢谢你的帮助。 Problem resolved.
问题解决了。
Solution: I was loading the same bean twice, so removed the duplicate bean. 解决方案:我两次加载相同的bean,因此删除了重复的bean。
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.