5
回答
Spring配置的定时任务忙不执行
滴滴云服务器,限时包月0.9元,为开发者而生>>>   

我再项目中使用的Spirng相关jar如下:

applicationcontext.xml配置文件如下:

<beans xmlns="http://www.springframework.org/schema/beans"
	xmlns:context="http://www.springframework.org/schema/context"
	xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xmlns:mvc="http://www.springframework.org/schema/mvc"
	xmlns:aop="http://www.springframework.org/schema/aop" xmlns:tx="http://www.springframework.org/schema/tx"
	xmlns:util="http://www.springframework.org/schema/util"
    xmlns:task="http://www.springframework.org/schema/task"
	xsi:schemaLocation="
        http://www.springframework.org/schema/beans       
        http://www.springframework.org/schema/beans/spring-beans-3.2.xsd  
        http://www.springframework.org/schema/context   
        http://www.springframework.org/schema/context/spring-context-3.2.xsd
		http://www.springframework.org/schema/tx 
		http://www.springframework.org/schema/tx/spring-tx-3.2.xsd 
		http://www.springframework.org/schema/aop 
		http://www.springframework.org/schema/aop/spring-aop-3.2.xsd
		http://www.springframework.org/schema/mvc
		http://www.springframework.org/schema/mvc/spring-mvc-3.2.xsd
		http://www.springframework.org/schema/task  
		http://www.springframework.org/schema/task/spring-task-3.1.xsd  ">

	<!-- 自动扫描 -->
	<context:component-scan base-package="com.blog" />




<!-- 定时任务  不再在此处配置,将采用注解方式-->
<!-- <task:scheduled-tasks>
	<task:scheduled ref="BlogTask" method="testMiniteTask" cron="0/10 * * * * ? *" />
</task:scheduled-tasks> -->
	<!-- 采用注解式的定时任务,需要配置此处代码,开启这个配置,spring才能识别Scheduled注解-->
 <task:annotation-driven scheduler="qbScheduler" mode="proxy"/>  
    <task:scheduler id="qbScheduler" pool-size="10"/>
</beans>



我的定时任务类如下:


package com.blog.task;

import org.springframework.context.annotation.Lazy;
import org.springframework.scheduling.annotation.Scheduled;
import org.springframework.stereotype.Component;
import org.springframework.stereotype.Service;

/**
 * 一个定时任务类
 * 
 * @author pengfei date 2016/10/23
 * 
 */
// @Service("PushURLToBaiduTask") //采用配置文件配置定时任务需要使用这个注解

@Component("BlogTask")
@Lazy(false)
public class BlogTask {

	/**
	 * 向百度定时推送新增博客URL的定时器
	 */
	@Scheduled(cron = "30 21 * * * ?")
	// 采用注解方式配置的定时任务需要在此处定义调用的时机 ,此处为每天的21:30调用此定时任务
	public void pushURLToBaiduTask() {
		System.out.println("任务进行中。。。");
	}

	@Scheduled(cron="0/5 * *  * * ? ")
	public void testMiniteTask() {
		System.out.println("------------------------------");
		System.out.println("这是每5秒进行一次的定时任务........");
		System.out.println("------------------------------");
	}
}



发现方法中的定时器根本不执行,启动tomcat也不报错,这是什么原因?急求解。

举报
顶部