与本文相关的关键词:Spring @Scheduled 执行两次的问题
使用组件:Spring framework web mvc
现象如下:使用@Scheduled标注的方法会执行两次
通过google输入关键词:spring @scheduled called twice,会显示许多人遇到相似问题。
该问题的根本原因就是包含有@Scheduled方法的类被初始化两次。
在spring官方说明中有如下提示:
Make sure that you are not initializing multiple instances of the same @Scheduled annotation class at runtime, unless you do want to schedule callbacks to each such instance. Related to this, make sure that you do not use @Configurable on bean classes which are annotated with @Scheduled and registered as regular Spring beans with the container: You would get double initialization otherwise, once through the container and once through the @Configurable aspect, with the consequence of each @Scheduled method being invoked twice.
由于英文不好,只能看明白大体意思:就是不要初始化两次同一个@Scheduled标注的类。
解决思路如下:
1、在web.xml文件中重复加载相关类
首先说下web.xml这个文件,通常都包含以下节点: