【问题标题】:Spring @Scheduled annotation method runs more than once in a given timeSpring @Scheduled 注解方法在给定时间内运行多次
【发布时间】:2016-05-12 04:55:04
【问题描述】:

春季计划的 cron 作业在计划时间内运行两次。

使用spring 4.2.5版本。

REST API -> Jersey + Spring 集成。

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应用上下文xml文件。

<task:annotation-driven/>

Spring bean如下。

@Component("springBean")
public class SpringBean {

@Scheduled(cron = "0 35 23 * * ?")
public void job() {....}

【问题讨论】:

  • 请提供minimal reproducible example 并说明您如何检测到它运行了两次。
  • 如果它运行了两次,你就是在加载你的配置两次...
  • 如果你在配置文件中定义了“SpringBean”,它会运行两次。

标签: java spring spring-mvc


【解决方案1】:

感谢您的帮助。问题已解决。

解决方案:我加载了两次相同的 bean,所以删除了重复的 bean。

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2023-02-07
    • 2021-03-21
    • 1970-01-01
    • 2021-05-01
    相关资源
    最近更新 更多