在此记录两种定时任务的配置:

一种是quart定时器:

  <1>配置xml文件(定时任务配置)

  <!--定时任务 -->
<bean id="txfwBomc" class="shmc.framework.scheduling.JobDetailFactoryBean">
<property name="jobDataAsMap">
<map>
<entry key="targetObject" value="bomcManager"/> <!-- 定时任务所在类 -->
<entry key="targetMethod" value="bomcDataPropel"/> <!-- 定时任务实现方法 -->
</map>
</property>
<property name="concurrent" value="false" />
</bean> <!--定义时间间隔触发器 -->
<bean id="bomcTigger" class="org.springframework.scheduling.quartz.CronTriggerBean">
<property name="jobDetail" ref="txfwBomc"/>
<property name="cronExpression" value="0 0 1 * * ?" />
</bean>

  <2>定义实现类的bean

<bean id="bomcManager" class="com.test.service.BomcManager" parent="frameworkManager">
</bean>

  <3>启动定时任务

  <!-- 集群定时器调度工厂  -->
<bean id="clusterSchedule" class="shmc.framework.scheduling.SchedulerFactoryBean">
<property name="applicationContextSchedulerContextKey">
<value>applicationContext</value>
</property>
<property name="triggers">
<list>
         <!-- BOMC推送 -->
<ref bean="bomcTigger"/>
</list>
</property>
</bean>

  <4>业务层实现代码

  ………………

一种利用注解:

  <1>配置xml文件,需要引用spring-task-3.1.xsd文档。

<beans
xmlns:task="http://www.springframework.org/schema/task"
xsi:schemaLocation="
http://www.springframework.org/schema/task //名称空间的名字
http://www.springframework.org/schema/task/spring-task-3.1.xsd"> //模式文档的位置 <!-- 扫描包路径 -->
<context:component-scan base-package="com.src.xx" >
</context:component-scan>
<!-- 开启定时器-->
<task:annotation-driven/> </beans>

<注意:>上边开启定时任务时,没有设置线程池。而spring默认是单线程,多个任务执行起来时间会有问题(B任务会因为A任务执行起来需要20S而被延后20S执行)

所以要配置线程池如下:

    <!--  开启定时器-->
<task:annotation-driven scheduler="taskScheduler"/>   <!-- 配置定时任务的线程池 -->
<task:scheduler id="taskScheduler" pool-size="5"/>

<2>java代码,具体实现在业务层实现

package com.src.xx.controller.api.timer;

import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.scheduling.annotation.Scheduled;
import org.springframework.stereotype.Component; import com.src.xx.service.timer.XianshiTimerService; @Component("taskXianshi")
public class XianshiTimer { @Autowired
private XianshiTimerService xianshiTimerService; /**
* 定时任务
*/
@Scheduled(cron = "0 26 10 * * ?")
public void xsActivityRemind(){
xianshiTimerService.xsActivityRemind();
} }

● spring定时任务cronExpression时间:<注意:每个时间点中间必须有空格分隔>
  一个cronExpression的表达式从左到右定义:
  秒(0-59)
  分钟(0-59)
  小时(0-23)
  月份中的日期(1-31)
  月份(1-12或JAN-DEC)
  星期中的日期(1-7或SUN-SAT)
  年份(1970-2099)

spring定时器配置的更多相关文章

  1. 两种流行Spring定时器配置:Java的Timer类和OpenSymphony的Quartz

    1.Java Timer定时 首先继承java.util.TimerTask类实现run方法 import java.util.TimerTask; public class EmailReportT ...

  2. Spring定时器配置与运用,及Cron表达式的详解

    一:首先在spring的配置文件里配置一个定时器 <task:executor id="executor" pool-size="5" /> < ...

  3. spring定时器

    本人小菜鸟一枚,今天在公司看到一段spring定时器配置,自己总结一下! <!-- 定义调用对象和调用对象的方法 --><bean id="jobtask9" c ...

  4. Spring定时器的两种实现方式

    有两种流行Spring定时器配置:Java的Timer类和OpenSymphony的Quartz. 1.Java Timer定时 首先继承java.util.TimerTask类实现run方法 imp ...

  5. [spring-framework]Spring定时器的配置和使用

    开发中我们常常会做一些定时任务,这些任务有开始时间,并会按一定的周期或规则执行.如此我们在Java程序开发中使用定时器来处理定时任务. <!-- MessageRequestTask类中包含了m ...

  6. spring定时器的配置

    首先,新建一个java项目,下面导入需要的jar包: 这里有你需要的jar包哦. jar包下载 在src文件夹下,新建一个applicationContext.xml文件 <?xml versi ...

  7. spring通过配置xml文件集成quartz定时器

    概述 Spring为创建Quartzde Scheduler.Trigger和JobDetail提供了方便的FactoryBean类,以便能够在Spring容器中享受注入的好处. 此外,Spring还 ...

  8. spring定时器,定时器一次执行两次的问题

    Spring 定时器 方法一:注解形式 配置文件头加上如下: xmlns:task="http://www.springframework.org/schema/task" htt ...

  9. Spring 定时器Quartz的用法

    Spring定时器Quartz的用法也很简单,需要引入quartz-all-1.5.2.jar java代码如下: package com.coalmine.desktop; import java. ...

随机推荐

  1. BAT常用脚本汇总

    1.取得时间戳 @echo off set date0=%date:~0,10% set hour0=%time:~0,2% set time0=%time:~0,2%%time:~3,2%%time ...

  2. iOS开发中获取WiFi相关信息

    iOS 开发中难免会遇到很多与网络方面的判断,这里做个汇总,大多可能是与WiFi相关的. 1.Ping域名.Ping某IP 有 时候可能会遇到ping 某个域名或者ip通不通,再做下一步操作.这里的p ...

  3. js自定义弹出框

    js自定义弹出框: 代码如下 <html> <head><title>自定义弹出对话框</title> <style type ="te ...

  4. Python中的对象类型的初步介绍

    一:介绍 1.为什么使用内置对象 对象类型是语言的一个部分 内置对象构成了每个python程序的核心部分 2.核心数据类型 数字 字符串 列表 字典 元组 文件 集合 其他类型 编程单元类型 与实现相 ...

  5. WordPress基础:自定义菜单

    需要自定义一个菜单,可以访问后台->外观->菜单

  6. C#实现XML与DataTable互转

    private string ConvertDataTableToXML(DataTable xmlDS) { MemoryStream stream = null; XmlTextWriter wr ...

  7. zabbix通过第三方插件percona监控mysql数据库

     zabbix通过第三方插件percona监控mysql数据库                                                                     ...

  8. python 数据库

    什么是数据库? 数据库(Database)是按照数据结构来组织.存储和管理数据的仓库,每个数据库都有一个或多个不同的API用于创建,访问,管理,搜索和复制所保存的数据.我们也可以将数据存储在文件中,但 ...

  9. 自己写一个swap函数交换任意两个相同类型元素的值 对空指针的使用 字节大小的判断(二)了解原理

    验证的代码: #include <stdio.h> int main(){ char c = 'z'; ) + (c << ) + () + 'a'; printf(" ...

  10. C#中一些常用的正则表达式

    需要引用using System.Text.RegularExpressions; Regex r = new Regex("^\\s*([A-Za-z0-9_-]+(\\.\\w+)*@( ...