当前位置: 首页 > 编程日记 > 正文

Spring中使用Schedule调度

在spring中两种办法使用调度,以下使用是在spring4.0中。

一、基于application配置文件,配置入下:

 1     <bean id="jobDetail" class="org.springframework.scheduling.quartz.MethodInvokingJobDetailFactoryBean">
 2         <property name="targetObject" ref="businessObject" />
 3         <property name="targetMethod" value="invoke" />
 4         <property name="concurrent" value="false" />
 5     </bean>
 6     <bean id="Jobtrigger" class="org.springframework.scheduling.quartz.SimpleTriggerFactoryBean">
 7         <property name="jobDetail" ref="jobDetail" />
 8         <property name="startDelay" value="10000" />
 9         <property name="repeatInterval" value="3000" />
10     </bean>
11     <bean id="businessObject" class="com.aoshi.web.framework.im.polling.AutoSchedule"/>
12     <bean class="org.springframework.scheduling.quartz.SchedulerFactoryBean">
13         <property name="triggers">
14             <list>
15                 <ref bean="Jobtrigger"/>
16             </list>
17         </property>
18     </bean>

其中的businessObject类就是调用调度的类,代码如下:

1 public class BusinessObject {
2 
3     int count=0;
4     public void invoke(){
5         System.out.println(getClass().getName()+"被调用了。。。"+(count++)+"次。");
6         
7     }
8 }

以上配置中targetMethod指定了调度的方法,concurrent设置是否并发执行。触发器中 startDelay设置程序之前延迟,单位是毫秒。repeatInterval设置执行的间隔,单位是毫秒。最后配置的是调度工厂,指定触发器。

*这种方法需要quartz.jar 和quartz-jobs.jar包的支持。

二、基于spring注解实现调度

使用spring注解来驱动调度,首先需要在spring配置文件中加入task命名空间,xmlns:task="http://www.springframework.org/schema/task"。接着加入调度注解扫描配置:

  <task:annotation-driven/>

接着是写注解的调度代码:

 1 @Component
 2 public class AutoSchedule {
 3 
 4     private int count=0;
 5     
 6     @Scheduled(fixedDelay=5000)
 7     public void invoke(){
 8         System.out.println("被调用了:"+count++);
 9     }
10 }

@Scheduled注解的方法就会在程序启动时候被自动执行,其中几个常配置的参数,分别是

fixedRate: 每一次执行调度方法的间隔,可以不用等上一次方法执行结束。可以理解为并发执行的。

fixedDely: 两次调度方法执行的间隔,它必须等上一次执行结束才会执行下一次。

cro: 配置调度配置字符串。

其中配置字符串可以从properties文件中取得。例如:

1 @Scheduled(cron = "${cron.expression}")
2     public void demoServiceMethod()
3     {
4         System.out.println("Method executed at every 5 seconds. Current time is :: "+ new Date());
5     }

在spring配置文件中引用配置文件:

1 <util:properties id="applicationProps" location="application.properties" />
2 <context:property-placeholder properties-ref="applicationProps" />

转载于:https://www.cnblogs.com/bigbang92/p/spring-schedule.html

相关文章:

DNS域名解析优化之tinydns/djbdns篇——测试篇

要开始还债了。 今天整理了一下一套bind9的配置&#xff0c;把记录都清理了一番。想了想&#xff0c;顺带安装了个geoipdns来做性能测试。整理记录的时候用bind-to-tinydns转换了一下记录格式。这些过程以后再说。 NS服务器是同一台Dell PowerEdge 2950。先启动的geoipdns&…

使用Combox控件的一个问题

Combox控件是MFC里边一个比较常用的控件&#xff0c;基本可以看成是一个文本框和一个下拉列表组合而成。但是我在用的时候碰到了一个问题&#xff0c;当我用AddString()函数加了4,5个字符串后&#xff0c;运行之后点击下拉箭头并没有下拉框的显示&#xff0c;或者说显示不出来。…

深度学习基础总结,无一句废话(附完整思维导图)

作者 | Python与算法社区责编 | Carol封图 | CSDN 付费下载于自视觉中国线型回归预测气温、预测销售额、预测商品价格等模型&#xff1a;权重&#xff0c;偏差模型训练&#xff1a;feed 数据学习模型参数值&#xff0c;使得误差尽可能小训练集、测试集、验证集、样本、标签、特…

unity, monoDevelop ide 代码提示不起作用的解决方法

monoDevelop ide 代码提示不起作用&#xff0c;可能是因为ide里索引了一些不存在的文件&#xff0c;检查一下solution窗口里是否有文件变红&#xff0c;如下图中springControlEx.cs。将变红的文件remove掉&#xff0c;然后去unity菜单中点File->Save Project。

DeeCamp 2020 赛题大公开!快来看你想选哪个

DeeCamp 2020 开放性竞赛赛题来啦&#xff0c;快来看看有没有你感兴趣的题目&#xff01;加入DeeCamp2020&#xff0c;你将和来自全球的优秀小伙伴组队挑战真实世界的难题&#xff0c;还能冲刺大奖。五大赛道&#xff0c;14个新颖赛题&#xff0c;总有一款适合你&#xff01;De…

Combox控件下拉选择不同值触发的动作响应

项目中需要根据combox控件下拉列表选择不同的值&#xff0c;然后能触发相应的动作。比如我的项目中&#xff0c;通过combox空间的下拉列表选择不同的C盘&#xff0c;D盘&#xff0c;E盘&#xff0c;F盘&#xff0c;然后能在list控件中把各个盘符的文件目录列出来。 那么触发…

不用se11创建表结构,作smartforms

Call form时不用传内表&#xff0c;切记。 1。在Global Definitions->types页面里输&#xff1a; types:begin of wa_test, matnr like mara-marnt, maktx like makt-maktx, end of wa_test. types:it_test type wa_test occurs 1. 2. 在Global Definitions->Global Data…

linux入门(三)常见Linux指令及其用法

一、上回说到说到Linux的shell指令运行的原理&#xff0c;这回我们来看看Linux中shell的权限管理&#xff0c;所谓的“权限”是指某一类人做某一件事的权利。在shell中这一类人被分为了三种&#xff1a;&#xff08;1&#xff09;文件拥有者user&#xff08;2&#xff09;文件拥…

设置Enter键为默认键

进行MFC编程中&#xff0c;很多时候需要设置快捷键&#xff0c;比如我的项目中&#xff0c;播放器的实现&#xff0c;需要快进、快退、播放、暂停等&#xff0c;除了具体的按钮操作外应该还能通过键盘的快捷键来进行操作。 关于如何设置一个菜单的快捷键或是一个按钮的快捷键&…

MAML-Tracker:用目标检测思路做目标跟踪?小样本即可得高准确率丨CVPR 2020

来源 | 微软研究院AI头条&#xff08;ID: MSRAsia&#xff09;编者按&#xff1a;目标检测与目标跟踪这两个任务有着密切的联系。针对目标跟踪任务&#xff0c;微软亚洲研究院提出了一种通过目标检测技术来解决的新视角&#xff0c;采用简洁、统一而高效的“目标检测小样本学习…

从哲学角度分析,框架的[无用之用]效果

小树的用途少&#xff0c;人们不理睬它、不砍伐它、才有机会长成有用之巨木&#xff0c;此为「无用」之用﹗老子说过&#xff1a;「人皆知有用之用&#xff0c;而莫知无用之用」&#xff0c;这与框架观念是一致的。 数千年前&#xff0c;老子提出了这「有、无」哲理&#xff0c…

xtrabackup2.4 备份Precona5.6数据库,做增量备份与还原

1、Full backuop&#xff0c;一定要先做: innobackupex --defaults-file/etc/my.cnf --userroot --passwordevlink /home/mysql/backup/2、Incremental backup&#xff0c;可以每隔一小时或者三小时做一次: innobackupex --defaults-file/etc/my.cnf --userroot --passw…

MFC按钮添加提示文字

转载自&#xff1a; http://blog.163.com/guo_linda/blog/static/12377305720101122105030162/ MFC里这个类叫做CToolTipCtrl&#xff0c;具体用法很简单。 1、在类头文件中声明CToolTipCtrl的类对象m_ctrlTT。 2、在初始化函数OnInitDialog()中设置m_ctrlTT。 EnableTool…

Go远超Python,机器学习人才极度稀缺,全球16,655位程序员告诉你这些真相

作者 | 唐小引题图 | HackerEarth 报告出品 | AI科技大本营&#xff08;ID&#xff1a;rgznai100&#xff09;Go 正变得越来越受开发者欢迎。几年前&#xff0c;滴滴的工程师曾告诉我&#xff0c;在滴滴 Go 已经得到了非常广泛的应用&#xff0c;去年&#xff0c;在腾讯内部使用…

WinCE中命令行工具Viewbin简介(查看nk.bin中包含的文件)

Viewbin是微软提供的一个命令行工具&#xff0c;在WinCE5.0和WinCE6.0中&#xff0c;可以在"/WINCE600/PUBLIC/COMMON/OAK/BIN/I386"找到他。Viewbin工具可以用来查看NK.bin文件。它可以从NK.bin中获得这个NK image的大小&#xff0c;运行的起始地址等。还能查看到里…

元素多层嵌套,JS获取问题

如果一段html嵌套过多&#xff0c;在js中获取还是比较麻烦的&#xff0c;我写了几套方案&#xff0c;大家可以参考参考&#xff0c;如果你有好的方法&#xff0c;也分享出来&#xff0c;让我们瞧瞧。 HTML&#xff1a; <!DOCTYPE html> <html lang"en"> …

MFC静态文本控件设置超链接

有时我们需要在窗口上设置一个超链接&#xff0c;比如在Aboutdlg上设置“我的博客”这样的超链接.具体的设置方法如下。 1、首先我们在窗体上添加一个Static文本控件&#xff0c;修改Caption属性&#xff0c;设置成你想要的超链接标题&#xff0c;比如“更多内容欢迎访问小梦的…

百度云「升级战」:王海峰站台,新架构全面AI化,AI和知识中台登场

5月18日&#xff0c;"ABC SUMMIT 2020百度夏季云智峰会"在线上召开。刚刚经历了人事变动的百度云迎来重磅升级&#xff0c;大会以"百度智能云加速产业智能化"为主题&#xff0c;百度智能云全新战略、新架构首次亮相&#xff0c;AI中台、知识中台两大创新平…

Mysql实现非程序控制读写分离

五一假期&#xff0c;有个博友给我发邮件&#xff0c;说我的这篇blog&#xff1a;http://bobwu.blog.51cto.com/2918362/537077 只能通过程序员在程序中实现读写分离&#xff0c;咨询能否实现程序员无察觉的读写分析&#xff0c;呵呵&#xff0c;我明白意思。回答是肯定的&…

MFC系统托盘的实现

通常电脑里边的软件&#xff0c;当你打开后会在电脑最右下角的任务栏上生成一个系统托盘&#xff0c;当你点击最小化或者点击关闭按钮后&#xff0c;若想恢复窗口&#xff0c;可以左键双击或者单机这个系统图标&#xff0c;同时鼠标右键点击&#xff0c;又会有其他的菜单弹出&a…

王海峰发布百度智能云最新架构,推出AI中台和知识中台

5月18日&#xff0c;在百度云智峰会上&#xff0c;百度CTO王海峰发布最新百度智能云架构规划。首先&#xff0c;他分享了百度利用AI、大数据、云计算等技术帮助疫情防控、复工复产的成果&#xff1a;AI多人测温1周检测2700万人次&#xff0c;时空大数据记录人流迁徙24亿人次&am…

Linux虚拟内存优化的方法

首先查看虚拟内存的使用情况&#xff0c;使用命令   # free   查看当前系统的内存使用情况。  一般来说&#xff0c;linux的物理内存几乎是完全used。这个和windows非常大的区别&#xff0c;它的内存管理机制将系统内存充分利用&#xff0c;并非windows无论多大的内存都要…

statpot:使用mongo+bootstrap+highcharts做统计报表

最近做了一个统计项目&#xff0c;这个统计项目大致的需求是统计接口的访问速度。客户端会调用一个接口来记录接口的访问情况&#xff0c;我的需求就需要分析这些数据&#xff0c;然后做出个统计报表。 需求实现 最初的时候想着每天把这些接口访问情况的信息存储到mysql中&…

磁盘文件目录罗列和list控件的使用

开发类似ftp客户端的这种软件&#xff0c;需要对每个磁盘下的文件目录进行罗列并显示。方便文件的上传、下载等。就如同我们打开每个磁盘所显示的那样&#xff0c;罗列了你这个磁盘目录下的所有文件夹和文件。 那我们在自己的程序中如何做到这样呢&#xff1f; 主要用到两个…

潘石屹Python考试成绩99分,网友:还有一分怕你骄傲

整理 | 伍杏玲题图 | 视觉中国来源 | 程序人生&#xff08;ID&#xff1a;coder_life&#xff09;5月16日凌晨00:21分&#xff0c;地产大亨潘石屹在微博晒出自己的Python编程一级考试成绩&#xff0c;99分&#xff0c;厉害&#xff01;像每个学生时期的我们&#xff0c;还会“检…

让Chrome成为你的pdf阅读器

我在Mac OS上使用过的浏览器有Chrome、Safari和Firefox&#xff0c;由于做的产品要支持多浏览器&#xff0c;所以这几种浏览器都会用到&#xff0c;Chrome的使用频率更高一些。 之前想通过浏览器在线阅读PDF时&#xff0c;一般都会提示进行下载&#xff0c;装了类似iGetter或Fo…

l5如何通过路由走api版本回退查找设置

l5如何通过路由走api版本回退查找设置 具体需求 当前遇到的问题是使用laravel写接口&#xff0c;但是接口是有版本号的&#xff0c;我们把版本号放在url中&#xff0c;比如&#xff1a; http://yejianfeng.com/api/user/info/?uid1 http://yejianfeng.com/api1.1/user/info/?…

jspf插件框架

简介&#xff1a;jspf (Java Simple Plugin Framework) 是一个插件框架&#xff0c;用于减少小型项目的的开发时间&#xff0c;增加代码的可维护性。他完全隐藏了组件的详细实现&#xff0c;只用到他们的接口。加载组件所需要的代码也很少&#xff0c;便于编写。jspf框架完全基…

list控件响应鼠标键的单双击

前面一片博客磁盘文件目录罗列和list控件的使用 写过关于list控件的一点使用方法。这篇博客接着继续讲list控件&#xff0c;当我把某个磁盘下的文件目录列出来显示在list控件中&#xff0c;我们肯定是想要对这些目录进行一些操作&#xff0c;比如新建文件夹、删除文件等操作。那…

我佛了!用KNN实现验证码识别,又 Get 到一招!

作者| 李秋键责编| Carol出品| AI科技大本营&#xff08;ID&#xff1a;rgznai100&#xff09;头图 | CSDN付费下载自视觉中国验证码使我们生活中最为常见的防治爬虫和机器人登录攻击的手段&#xff0c;一般的验证码主要由数字和字母组成&#xff0c;故我们可以设想&#xff1a…