1、定义一个JOB
<!-- 使用pojo来做job,指定pojo和method -->
<bean id="jobDetail" class="org.springframework.scheduling.quartz.MethodInvokingJobDetailFactoryBean">
<property name="targetObject" ref="pojoObject"/>
<property name="targetMethod" value="execute"/>
</bean>
2、定义一个触发时间
<bean id="cronTrigger" class="org.springframework.scheduling.quartz.CronTriggerBean">
<property name="jobDetail" ref="jobDetail"/>
<!--朝九晚五工作时间内每半小时执行一次-->
<property name="cronExpression" value="0 0/30 9-17 *,* * ?"/>
</bean>
3、定义管理器
<bean name="quartzScheduler"
class="org.springframework.scheduling.quartz.SchedulerFactoryBean">
<property name="triggers">
<list>
<ref bean="cronTrigger"/>
</list>
</property>
</bean>
一般的应用,只要配置上面这些东东就可以了。
但如果有大量的定时执行程序,而且有时需要分别启动,这个时候就要用到两个Scheduler, 在spring中是怎么实现的呢?简单地配置两个SchedulerFactoryBean是不解决问题的。原因如下:
看一下SchedulerFactoryBean的代码,里面一个参数叫做:schedulerName,SchedulerFactoryBean通过 StdSchedulerFactory返回一个具体的Scheduler的。而且每个Scheduler是注册在 SchedulerRepository中的。
SchedulerRepository中的每个Scheduler都是放在一个MAP中的,根据名字作为KEY。
private HashMap schedulers;
这样就比较好办了。
<bean name="quartzScheduler"
class="org.springframework.scheduling.quartz.SchedulerFactoryBean">
<property name="triggers">
<list>
<ref bean="cronTrigger"/>
</list>
</property>
<property name="schedulerName"><value>first</value></property>
</bean>
可以声明多个。并设上不同名字,这样scheduler就分有多个实例,可以分别启动、停止了。
分享到:
相关推荐
Quartz.Net-Multi-Schedulers 该项目演示了Quartz作业调度程序使用多个作业侦听器的情况。介绍此项目与对连接到相同SQL数据存储的一个应用程序使用多个作业侦听器有关。 这种方法的可能用途是当我们需要卸载某些作业...
Quartz是一个开源的作业调度框架,它完全由Java写成,并设计用于J2SE和J2EE应用中。它提供了巨大的灵 活性而不牺牲简单性。你能够用它来为执行一个作业而创建简单的或复杂的调度 What's New In Quartz Scheduler ...
LTE Matlab different schedulers
triggered schedulers’ performances. We evaluated and studied the performance of those time triggered schedulers with various parameters. The results have been incurred by implementation of ...
Google的第三代分布式资源调度管理器架构介绍
Comparison of the three CPU schedulers in Xen Xen调度
The core API of diffusers: Pipelines, models and schedulers
http://www.componentgo.com/projectservice/#/Views/ProjectPlanner 一个silverlight gantt,去除演示的字样。
调度器该库中的对象异步运行回调,从而允许在调用之间进行有用的暂停。 这可用于负载平衡,速率限制,延迟执行。 在下面的示例中,对象在构造函数之后立即接收任务。 但是实际上,对象可以在随机时间处理对run方法的...
rxjs-schedulers
schedulers-BI
一、简介 1,使用微信,定时往指定的微信群里发送指定信息。 2,需要发送的内容使用excel进行维护,指定要发送的微信群名、时间、内容。 二、py库 ...from apscheduler.schedulers.background import
Armon Dadgar概述了Nomad,这是一个专为长期运行服务和批处理作业而设计的应用程序调度程序。在此过程中,Armon探讨了使用调度程序为开发人员提供支持并提高资源利用率以及调度程序如何实现新的下一代应用程序体系...
Chapter 7, Concurrency and Parallel Processing in RxKotlin with Schedulers, enables you to leverage the benefits of Schedulers to achieve concurrent programming. Chapter 8, Testing RxKotlin ...
传递一个SupportSQLiteOpenHelper实例和一个Scheduler来创建一个BriteDatabase 。 BriteDatabase db = sqlBrite . wrapDatabaseHelper(openHelper, Schedulers . io()); 出于某些原因,需要使用Sche
在做频繁操作磁盘的python项目时,经常会碰到磁盘空间不足的情况,这个时候,工程应该要有自己的处理模块,当磁盘利用率到达某个点时,发出警告并停止程序的运行。本文就利用Python3中的apscheduler模块来处理这样的...
dirty_scheduler 不要忘记使用“ --enable-dirty-schedulers”标志来构建您的OTP。 使用erlang:system_info(dirty_cpu_schedulers_online)进行检查。 如果未启用它们,它将返回badarg。... 更多信息: :
动态优先级编程算法代码matlab 该项目已作为的任务完成。 请参阅和以获取原始作业。 我曾尝试在Markdown上复制论文,但它并不完美。 纸张的实际Word ...schedulers are: sjf, fcfs, srtf, rr, unix -v Ver
SGDR此SGDR还具有两个变体,1.带暖重启的随机梯度下降2.带预热的随机梯度下降 步进衰减 在某些时期(即drop_epoch )之后将学习率降低lr_decay 。 实现,超参数和常量 drop_epoch = 3 lr_decay = 0.85 def step_...
这是一个 ,将日程表本身及其状态信息都存储在后端Mongo数据库中。 可以通过安装celerybeat-mongo Python egg来安装它: # pip install celerybeat-mongo 并在运行Celery Beat时指定调度程序,例如: $ celery ...