这几天做一个定时任务。用到Spring+Quartz,记下一些要点备以后使用。bean配置如下:
<!-- 定时服务定义 -->
<bean lazy-init="false" autowire="no" class="org.springframework.scheduling.quartz.SchedulerFactoryBean"> <property name="triggers"> <list> <ref bean="cronTrigger" /> </list> </property> </bean> <bean id="cronTrigger" class="org.springframework.scheduling.quartz.CronTriggerBean"> <property name="jobDetail" ref="jobDetailBean" /> <!-- run every morning at 8:30 AM, not sun--> <property name="cronExpression" value="0 30 8 ? * MON-SAT" /> </bean> <bean name="jobDetailBean" class="org.springframework.scheduling.quartz.JobDetailBean"> <property name="jobClass" value="com.taobao.tmall.jiazhuangadmin.biz.tuangou.TuangouTask" /> <property name="jobDataAsMap"> <map> <entry key="tuangouInfDAO" value-ref="tuangouInfDAO"/> <entry key="tuangouManager" value-ref="tuangouManager"/> <entry key="itemQueryServiceClient" value-ref="itemQueryServiceClient"/> </map> </property> </bean>
public class TuangouTask extends QuartzJobBean {
private static final Logger logger = LoggerFactory.getLogger(TuangouTask.class);
private TuangouInfDAO tuangouInfDAO;
private ItemQueryServiceClient itemQueryServiceClient;
private static TuanCache tuanCache;
@Override
protected void executeInternal(JobExecutionContext context) throws JobExecutionException {
//写你的业务逻辑
}
}
就这样,简单吧。