Spring的定时任务@Scheduled,部署后执行加载两次
2017-07-18 19:45
477 查看
最近公司让做定时抓取新闻的一个定时,一切都部署好后,发现每次都加载了两次。配置文件都检查了,也没发现问题。
1.注解的配置
2. 定时的代码
3.查了些资料,有的说是在配置文件中,DispatcherServlet配置加载了两次,但是我的不是这个问题。
最后的问题是在tomcat里,我的项目是在webapps里,而在conf下的server.xml中的<Host appBase="webapps"。。>
appBase也是指定的是webapps。所以加载了两次。我解决的方法是把项目放到另一个文件夹(新建个文件夹)下wtpwebapps就OK了!
就是把appBase='webapps',改成appBase="wtpwebapps"
1.注解的配置
<!-- 启用注解定时 --> <task:annotation-driven scheduler="myScheduler"/> <task:scheduler id="myScheduler" pool-size="10"/>
2. 定时的代码
/** * 定时取数据 * 只过滤一次,此定时的时间早于获取新闻的时间 */ @Scheduled(cron = "0 55 5,12,19 * * ?") public void task() { List<String> url = newsService.queryAllNewsUrl(); for (String str : url) { if (StringUtils.isNotEmpty(str)) { CachePool.getInstance().putCacheItem(str, System.currentTimeMillis()); } } int size = CachePool.getInstance().getSize(); logger.debug("缓存数量为:"+size); logger.debug("缓存已加载完毕!"); }
3.查了些资料,有的说是在配置文件中,DispatcherServlet配置加载了两次,但是我的不是这个问题。
最后的问题是在tomcat里,我的项目是在webapps里,而在conf下的server.xml中的<Host appBase="webapps"。。>
appBase也是指定的是webapps。所以加载了两次。我解决的方法是把项目放到另一个文件夹(新建个文件夹)下wtpwebapps就OK了!
就是把appBase='webapps',改成appBase="wtpwebapps"
<Host appBase="webapps" autoDeploy="true" name="localhost" unpackWARs="true"> <Valve className="org.apache.catalina.valves.AccessLogValve" directory="logs" pattern="%h %l %u %t "%r" %s %b" prefix="localhost_access_log" suffix=".txt"/> <Context docBase="bsny-manage-web" path="" reloadable="false" source="org.eclipse.jst.jee.server:bsny-manage-web"/>
</Host>
相关文章推荐
- Tomcat启动后加载两次web.xml的问题(因为spring定时任务执行了俩次,引出此问题)
- java web应用部署到tomcat6上Spring定时任务执行两次解决
- spring+springMvc 架构导致定时任务重复加载执行两次
- 解决spring定时任务执行两次和tomcat部署缓慢的问题
- spring定时任务执行两次及tomcat部署缓慢问题的解决方法
- 4000 spring定时任务执行两次的原因与解决方法
- 解决Spring定时计划任务重复执行两次(实例被构造两次)问题的方法
- spring 第13天 使用@scheduled注解执行定时任务
- spring定时任务执行了两次
- spring 第13天 使用@scheduled注解执行定时任务
- spring3.0自带的定时任务重复执行两次
- Spring中使用注解 @Scheduled执行定时任务
- 解决Spring定时计划任务重复执行两次(实例被构造两次)问题的方法
- 解决Spring定时计划任务重复执行两次(实例被构造两次)问题的方法
- spring 使用@scheduled注解执行定时任务
- spring定时任务执行两次的原因
- quartz 应用到 spring定时任务 执行两次
- linux 下部署spring定时任务执行shell脚本,shell脚本执行spoon
- 解决Spring定时计划任务重复执行两次(实例被构造两次)问题的方法
- 解决Spring定时计划任务重复执行两次(实例被构造两次)问题的方法