`
frinder
  • 浏览: 36326 次
  • 性别: Icon_minigender_1
  • 来自: 上海
社区版块
存档分类
最新评论

spring中定时机制

 
阅读更多
关于在Spring中的任务计划的使用
我今天结合Spring技术手册中的内容,总共总结了5个方面:
1:使用最简单的任务计划,就是继承java.util.TimerTask类,最关键的当然是配置beans-config.xml
文件了,因为我们使用的是spring来管理任务计划。

继承TimerTask类的写法如下:
packagecom;
importjava.util.TimerTask;
publicclassDemoTaskextendsTimerTask {
publicvoidrun() {
System.out.println("任务程序启动,这时我的第一个任务程序......");
}
}
beans-config.xml的写法如下:

<?xmlversion="1.0"encoding="UTF-8"?>
<!DOCTYPE beans PUBLIC "-//SPRING//DTD BEAN//EN"
"[url]http://www.springframework.org[/url]/dtd/spring-beans.dtd">

<beans>
<!--定义定时任务类-->
<beanid="demoTask"class="com.DemoTask"/>

<beanid="scheduledTimerTask"class="org.springframework.scheduling.timer.ScheduledTimerTask">
<!--这里定义定时任务的对象的位置-->
<propertyname="timerTask">
<refbean="demoTask"/>
</property>
<!--这里定义每六秒钟程序执行一次-->
<propertyname="period">
<value>6000</value>
</property>
<!--这里定义程序启动两秒钟后开始执行-->
<propertyname="delay">
<value>2000</value>
</property>
</bean>
<beanid="timerFactoryBean"class="org.springframework.scheduling.timer.TimerFactoryBean">
<propertyname="scheduledTimerTasks">
<list>
<refbean="scheduledTimerTask"/>
</list>
</property>
</bean>
</beans>

启动程序的写法:
packagecom;
importjava.io.BufferedReader;
importjava.io.InputStreamReader;
importorg.springframework.context .support.FileSystemXmlApplicationContext;
publicclassTimerTaskDemo {
/**
* @author sunny 这个程序用于测试spring框架中的任务管理,这个一个最简单地实现定时任务的方式
* @param args
*/

publicstaticvoidmain(String[] args)throwsException{
newFileSystemXmlApplicationContext("beans-config.xml");
System.out.println("启动任务...");
System.out.println("请输入exit关闭程序.....");

BufferedReader reader =newBufferedReader(newInputStreamReader(System.in));

while(true){
if(reader.readLine().equals("exit")){
System.exit(0);
}
}
}
}
2:当我们在程序中不能继承TimerTask类了<wbr style="padding:0px; margin:0px">,我们应该怎样写呢?那我们就需要在程序中使用spring提供的<wbr style="padding:0px; margin:0px">"org.springframework.scheduling<wbr style="padding:0px; margin:0px">.timer.MethodInvokingTimerTaskF<wbr style="padding:0px; margin:0px">actoryBean"类来进行处理了。不同的地方就是<br style="padding:0px; margin:0px"> xml的配置文件的写法,程序中需要指定执行哪一个类的哪一个方法<wbr style="padding:0px; margin:0px">:</wbr></wbr></wbr></wbr></wbr>
<?xmlversion="1.0"encoding="UTF-8"?>
<!DOCTYPE beans PUBLIC "-//SPRING//DTD BEAN//EN"
"http://www.springframework.org/dtd/spring-beans.dtd">

<beans>
<!--定义定时任务类-->
<beanid="demoTask"class="com.DemoTask"/>

<beanid="timerTaskBean"class="org.springframework.scheduling.timer.MethodInvokingTimerTaskFactoryBean">
<propertyname="targetObject">
<refbean="demoTask"/>
</property>
<propertyname="targetMethod">
<value>run</value>
</property>
</bean>

<beanid="scheduledTimerTask"class="org.springframework.scheduling.timer.ScheduledTimerTask">
<!--这里定义定时任务的对象的位置-->
<propertyname="timerTask">
<refbean="timerTaskBean"/>
</property>
<!--这里定义每六秒钟程序执行一次-->
<propertyname="period">
<value>6000</value>
</property>
<!--这里定义程序启动两秒钟后开始执行-->
<propertyname="delay">
<value>2000</value>
</property>
</bean>
<beanid="timerFactoryBean"class="org.springframework.scheduling.timer.TimerFactoryBean">
<propertyname="scheduledTimerTasks">
<list>
<refbean="scheduledTimerTask"/>
</list>
</property>
</bean>
</beans>
3A:由于jdk标准api提供的Timer功能有限<wbr style="padding:0px; margin:0px">,只能指定任务与任务之间的周期,而无法指定某个特定的时间内执行<wbr style="padding:0px; margin:0px">某项任务,所以现在<br style="padding:0px; margin:0px"> 推荐使用Quartz来解决这样的问题。接下来的这个程序仍然是解<wbr style="padding:0px; margin:0px">决周期问题的,要循序渐进。。。<br style="padding:0px; margin:0px"><br style="padding:0px; margin:0px"> QuartzJobBean 类用于重复调用JobData 类的方法执行getData()方法。QuartzJobBean 必须继承QuartzJobBean</wbr></wbr></wbr>
packagecom;
importorg.quartz.JobExecutionContext;
importorg.springframework.scheduling.quartz.QuartzJobBean;
publicclassDemoJobextendsQuartzJobBean {
privateJobData jobData;

protectedvoidexecuteInternal(JobExecutionContext arg0) {
System.out.println(jobData.getData() +" 第一个已经被执行了!!");
}
publicJobData getJobData() {
returnjobData;
}
publicvoidsetJobData(JobData jobData) {
this.jobData = jobData;
}
}
packagecom;
importjava.text.SimpleDateFormat;
importjava.util.Date;
publicclassJobData {
publicString getData() {
SimpleDateFormat ddd =newSimpleDateFormat("yyyy-MM-dd hh:mm:ss");
return"Data from "+ ddd.format(newDate());
}
}
关键在于beans-config.xml配置文件的写法
<?xmlversion="1.0"encoding="UTF-8"?>
<!DOCTYPE beans PUBLIC "-//SPRING//DTD BEAN//EN"
" [url]http://www.springframework.org[/url]/dtd/spring-beans.dtd">

<beans>
<!--定义定时任务类-->
<beanid="someData"class="com.JobData"/>

<beanid="jobDetailBean"class="org.springframework.scheduling.quartz.JobDetailBean">
<propertyname="jobClass">
<value>com.DemoJob</value>
</property>
<propertyname="jobDataAsMap">
<map>
<entrykey="jobData">
<refbean="someData"/>
</entry>
</map>
</property>
</bean>

<beanid="simpleTriggerBean"class="org.springframework.scheduling.quartz.SimpleTriggerBean">
<!--这里定义定时任务的对象的位置-->
<propertyname="jobDetail">
<refbean="jobDetailBean"/>
</property>
<!--这里定义每六秒钟程序执行一次-->
<propertyname="repeatInterval">
<value>6000</value>
</property>
<!--这里定义程序启动两秒钟后开始执行-->
<propertyname="startDelay">
<value>2000</value>
</property>
</bean>
<beanid="timerFactoryBean"class="org.springframework.scheduling.quartz.SchedulerFactoryBean">
<propertyname="triggers">
<list>
<refbean="simpleTriggerBean"/>
</list>
</property>
</bean>
</beans>

启动程序的文件相同。
3B:
如果需求中要求将来的某个时间点执行某项操作,那么配置文件中则必<wbr style="padding:0px; margin:0px">须使用<br style="padding:0px; margin:0px"> org.springframework.scheduling<wbr style="padding:0px; margin:0px">.quartz.CronTriggerBean。具体配置如下:<br style="padding:0px; margin:0px"><div style="padding:0px; margin:0px"> <div style="padding:4px; margin:0px; border:1px solid rgb(204,204,204); font-size:10pt; width:705.5833129882813px; color:rgb(0,0,0); word-break:break-all; line-height:16px; font-family:verdana,宋体; background-color:rgb(238,238,238)"> <span style="color:#0000ff; padding:0px; margin:0px">&lt;?</span><span style="color:#800000; padding:0px; margin:0px">xml</span><span style="color:#ff0000; padding:0px; margin:0px">version</span><span style="color:#0000ff; padding:0px; margin:0px">="1.0"</span><span style="color:#ff0000; padding:0px; margin:0px">encoding</span><span style="color:#0000ff; padding:0px; margin:0px">="UTF-8"</span><span style="color:#0000ff; padding:0px; margin:0px">?&gt;</span><br style="padding:0px; margin:0px"> &lt;!DOCTYPE beans PUBLIC "-//SPRING//DTD BEAN//EN"<br style="padding:0px; margin:0px"> "[url]http://www.springframework.org[/url]/dtd/spring-beans.dtd"&gt;<br style="padding:0px; margin:0px"><br style="padding:0px; margin:0px"><span style="color:#0000ff; padding:0px; margin:0px">&lt;</span><span style="color:#800000; padding:0px; margin:0px">beans</span><span style="color:#0000ff; padding:0px; margin:0px">&gt;</span><br style="padding:0px; margin:0px"> &lt;!--<span style="color:#008000; padding:0px; margin:0px">定义定时任务类</span>--&gt;<br style="padding:0px; margin:0px"><span style="color:#0000ff; padding:0px; margin:0px">&lt;</span><span style="color:#800000; padding:0px; margin:0px">bean</span><span style="color:#ff0000; padding:0px; margin:0px">id</span><span style="color:#0000ff; padding:0px; margin:0px">="someData"</span><span style="color:#ff0000; padding:0px; margin:0px">class</span><span style="color:#0000ff; padding:0px; margin:0px">="com.JobData"</span><span style="color:#0000ff; padding:0px; margin:0px">/&gt;</span><br style="padding:0px; margin:0px"><br style="padding:0px; margin:0px"><span style="color:#0000ff; padding:0px; margin:0px">&lt;</span><span style="color:#800000; padding:0px; margin:0px">bean</span><span style="color:#ff0000; padding:0px; margin:0px">id</span><span style="color:#0000ff; padding:0px; margin:0px">="jobDetailBean"</span><span style="color:#ff0000; padding:0px; margin:0px">class</span><span style="color:#0000ff; padding:0px; margin:0px">="org.springframework.scheduling.quartz.JobDetailBean"</span><span style="color:#0000ff; padding:0px; margin:0px">&gt;</span><br style="padding:0px; margin:0px"><span style="color:#0000ff; padding:0px; margin:0px">&lt;</span><span style="color:#800000; padding:0px; margin:0px">property</span><span style="color:#ff0000; padding:0px; margin:0px">name</span><span style="color:#0000ff; padding:0px; margin:0px">="jobClass"</span><span style="color:#0000ff; padding:0px; margin:0px">&gt;</span><br style="padding:0px; margin:0px"><span style="color:#0000ff; padding:0px; margin:0px">&lt;</span><span style="color:#800000; padding:0px; margin:0px">value</span><span style="color:#0000ff; padding:0px; margin:0px">&gt;</span>com.DemoJob<span style="color:#0000ff; padding:0px; margin:0px">&lt;/</span><span style="color:#800000; padding:0px; margin:0px">value</span><span style="color:#0000ff; padding:0px; margin:0px">&gt;</span><br style="padding:0px; margin:0px"><span style="color:#0000ff; padding:0px; margin:0px">&lt;/</span><span style="color:#800000; padding:0px; margin:0px">property</span><span style="color:#0000ff; padding:0px; margin:0px">&gt;</span><br style="padding:0px; margin:0px"><span style="color:#0000ff; padding:0px; margin:0px">&lt;</span><span style="color:#800000; padding:0px; margin:0px">property</span><span style="color:#ff0000; padding:0px; margin:0px">name</span><span style="color:#0000ff; padding:0px; margin:0px">="jobDataAsMap"</span><span style="color:#0000ff; padding:0px; margin:0px">&gt;</span><br style="padding:0px; margin:0px"><span style="color:#0000ff; padding:0px; margin:0px">&lt;</span><span style="color:#800000; padding:0px; margin:0px">map</span><span style="color:#0000ff; padding:0px; margin:0px">&gt;</span><br style="padding:0px; margin:0px"><span style="color:#0000ff; padding:0px; margin:0px">&lt;</span><span style="color:#800000; padding:0px; margin:0px">entry</span><span style="color:#ff0000; padding:0px; margin:0px">key</span><span style="color:#0000ff; padding:0px; margin:0px">="jobData"</span><span style="color:#0000ff; padding:0px; margin:0px">&gt;</span><br style="padding:0px; margin:0px"><span style="color:#0000ff; padding:0px; margin:0px">&lt;</span><span style="color:#800000; padding:0px; margin:0px">ref</span><span style="color:#ff0000; padding:0px; margin:0px">bean</span><span style="color:#0000ff; padding:0px; margin:0px">="someData"</span><span style="color:#0000ff; padding:0px; margin:0px">/&gt;</span><br style="padding:0px; margin:0px"><span style="color:#0000ff; padding:0px; margin:0px">&lt;/</span><span style="color:#800000; padding:0px; margin:0px">entry</span><span style="color:#0000ff; padding:0px; margin:0px">&gt;</span><br style="padding:0px; margin:0px"><span style="color:#0000ff; padding:0px; margin:0px">&lt;/</span><span style="color:#800000; padding:0px; margin:0px">map</span><span style="color:#0000ff; padding:0px; margin:0px">&gt;</span><br style="padding:0px; margin:0px"><span style="color:#0000ff; padding:0px; margin:0px">&lt;/</span><span style="color:#800000; padding:0px; margin:0px">property</span><span style="color:#0000ff; padding:0px; margin:0px">&gt;</span><br style="padding:0px; margin:0px"><span style="color:#0000ff; padding:0px; margin:0px">&lt;/</span><span style="color:#800000; padding:0px; margin:0px">bean</span><span style="color:#0000ff; padding:0px; margin:0px">&gt;</span><br style="padding:0px; margin:0px"><br style="padding:0px; margin:0px"><span style="color:#0000ff; padding:0px; margin:0px">&lt;</span><span style="color:#800000; padding:0px; margin:0px">bean</span><span style="color:#ff0000; padding:0px; margin:0px">id</span><span style="color:#0000ff; padding:0px; margin:0px">="cronTriggerBean"</span><span style="color:#ff0000; padding:0px; margin:0px">class</span><span style="color:#0000ff; padding:0px; margin:0px">="org.springframework.scheduling.quartz.CronTriggerBean"</span><span style="color:#0000ff; padding:0px; margin:0px">&gt;</span><br style="padding:0px; margin:0px"> &lt;!--<span style="color:#008000; padding:0px; margin:0px">这里定义定时任务的对象的位置</span>--&gt;<br style="padding:0px; margin:0px"><span style="color:#0000ff; padding:0px; margin:0px">&lt;</span><span style="color:#800000; padding:0px; margin:0px">property</span><span style="color:#ff0000; padding:0px; margin:0px">name</span><span style="color:#0000ff; padding:0px; margin:0px">="jobDetail"</span><span style="color:#0000ff; padding:0px; margin:0px">&gt;</span><br style="padding:0px; margin:0px"><span style="color:#0000ff; padding:0px; margin:0px">&lt;</span><span style="color:#800000; padding:0px; margin:0px">ref</span><span style="color:#ff0000; padding:0px; margin:0px">bean</span><span style="color:#0000ff; padding:0px; margin:0px">="jobDetailBean"</span><span style="color:#0000ff; padding:0px; margin:0px">/&gt;</span><br style="padding:0px; margin:0px"><span style="color:#0000ff; padding:0px; margin:0px">&lt;/</span><span style="color:#800000; padding:0px; margin:0px">property</span><span style="color:#0000ff; padding:0px; margin:0px">&gt;</span><br style="padding:0px; margin:0px"> &lt;!--<span style="color:#008000; padding:0px; margin:0px">这里定义每天11点07分的时候程序执行一次</span>--&gt;<br style="padding:0px; margin:0px"><span style="color:#0000ff; padding:0px; margin:0px">&lt;</span><span style="color:#800000; padding:0px; margin:0px">property</span><span style="color:#ff0000; padding:0px; margin:0px">name</span><span style="color:#0000ff; padding:0px; margin:0px">="cronExpression"</span><span style="color:#0000ff; padding:0px; margin:0px">&gt;</span><br style="padding:0px; margin:0px"><span style="color:#0000ff; padding:0px; margin:0px">&lt;</span><span style="color:#800000; padding:0px; margin:0px">value</span><span style="color:#0000ff; padding:0px; margin:0px">&gt;</span>0 07 11 * * ?<span style="color:#0000ff; padding:0px; margin:0px">&lt;/</span><span style="color:#800000; padding:0px; margin:0px">value</span><span style="color:#0000ff; padding:0px; margin:0px">&gt;</span><br style="padding:0px; margin:0px"><span style="color:#0000ff; padding:0px; margin:0px">&lt;/</span><span style="color:#800000; padding:0px; margin:0px">property</span><span style="color:#0000ff; padding:0px; margin:0px">&gt;</span><br style="padding:0px; margin:0px"><span style="color:#0000ff; padding:0px; margin:0px">&lt;/</span><span style="color:#800000; padding:0px; margin:0px">bean</span><span style="color:#0000ff; padding:0px; margin:0px">&gt;</span><br style="padding:0px; margin:0px"><span style="color:#0000ff; padding:0px; margin:0px">&lt;</span><span style="color:#800000; padding:0px; margin:0px">bean</span><span style="color:#ff0000; padding:0px; margin:0px">id</span><span style="color:#0000ff; padding:0px; margin:0px">="schedulerFactoryBean"</span><span style="color:#ff0000; padding:0px; margin:0px">class</span><span style="color:#0000ff; padding:0px; margin:0px">="org.springframework.scheduling.quartz.SchedulerFactoryBean"</span><span style="color:#0000ff; padding:0px; margin:0px">&gt;</span><br style="padding:0px; margin:0px"><span style="color:#0000ff; padding:0px; margin:0px">&lt;</span><span style="color:#800000; padding:0px; margin:0px">property</span><span style="color:#ff0000; padding:0px; margin:0px">name</span><span style="color:#0000ff; padding:0px; margin:0px">="triggers"</span><span style="color:#0000ff; padding:0px; margin:0px">&gt;</span><br style="padding:0px; margin:0px"><span style="color:#0000ff; padding:0px; margin:0px">&lt;</span><span style="color:#800000; padding:0px; margin:0px">list</span><span style="color:#0000ff; padding:0px; margin:0px">&gt;</span><br style="padding:0px; margin:0px"><span style="color:#0000ff; padding:0px; margin:0px">&lt;</span><span style="color:#800000; padding:0px; margin:0px">ref</span><span style="color:#ff0000; padding:0px; margin:0px">bean</span><span style="color:#0000ff; padding:0px; margin:0px">="cronTriggerBean"</span><span style="color:#0000ff; padding:0px; margin:0px">/&gt;</span><br style="padding:0px; margin:0px"><span style="color:#0000ff; padding:0px; margin:0px">&lt;/</span><span style="color:#800000; padding:0px; margin:0px">list</span><span style="color:#0000ff; padding:0px; margin:0px">&gt;</span><br style="padding:0px; margin:0px"><span style="color:#0000ff; padding:0px; margin:0px">&lt;/</span><span style="color:#800000; padding:0px; margin:0px">property</span><span style="color:#0000ff; padding:0px; margin:0px">&gt;</span><br style="padding:0px; margin:0px"><span style="color:#0000ff; padding:0px; margin:0px">&lt;/</span><span style="color:#800000; padding:0px; margin:0px">bean</span><span style="color:#0000ff; padding:0px; margin:0px">&gt;</span><br style="padding:0px; margin:0px"><span style="color:#0000ff; padding:0px; margin:0px">&lt;/</span><span style="color:#800000; padding:0px; margin:0px">beans</span><span style="color:#0000ff; padding:0px; margin:0px">&gt;</span><br style="padding:0px; margin:0px"> </div> </div> </wbr></wbr>
4:如果程序不允许继承QuartzJobBean类<wbr style="padding:0px; margin:0px">,我们怎样处理呢?那么我们可以采用spring提供的Metho<wbr style="padding:0px; margin:0px">dInvokingJobDetailFactoryBean<br style="padding:0px; margin:0px"> 来进行处理,<br style="padding:0px; margin:0px"><div style="padding:0px; margin:0px"> <div style="padding:4px; margin:0px; border:1px solid rgb(204,204,204); font-size:10pt; width:705.5833129882813px; color:rgb(0,0,0); word-break:break-all; line-height:16px; font-family:verdana,宋体; background-color:rgb(238,238,238)"> <span style="color:#0000ff; padding:0px; margin:0px">package</span>com;<br style="padding:0px; margin:0px"><span style="color:#008000; padding:0px; margin:0px">/**<br style="padding:0px; margin:0px"> * 这里不需要继承quartz类了<br style="padding:0px; margin:0px"> * @author Administrator<br style="padding:0px; margin:0px"> *<br style="padding:0px; margin:0px"> */</span><br style="padding:0px; margin:0px"><span style="color:#0000ff; padding:0px; margin:0px">public</span><span style="color:#0000ff; padding:0px; margin:0px">class</span>DemoJob {<br style="padding:0px; margin:0px"><span style="color:#0000ff; padding:0px; margin:0px">private</span>JobData jobData;<br style="padding:0px; margin:0px"><br style="padding:0px; margin:0px"><span style="color:#0000ff; padding:0px; margin:0px">public</span>JobData getJobData() {<br style="padding:0px; margin:0px"><span style="color:#0000ff; padding:0px; margin:0px">return</span>jobData;<br style="padding:0px; margin:0px"> }<br style="padding:0px; margin:0px"><span style="color:#0000ff; padding:0px; margin:0px">public</span><span style="color:#0000ff; padding:0px; margin:0px">void</span>setJobData(JobData jobData) {<br style="padding:0px; margin:0px"><span style="color:#0000ff; padding:0px; margin:0px">this</span>.jobData = jobData;<br style="padding:0px; margin:0px"> }<br style="padding:0px; margin:0px"><span style="color:#0000ff; padding:0px; margin:0px">public</span><span style="color:#0000ff; padding:0px; margin:0px">void</span>execute(){<br style="padding:0px; margin:0px"> System.out.println(jobData.getData() +<span style="color:#800000; padding:0px; margin:0px">" 被执行了。"</span>);<br style="padding:0px; margin:0px"> }<br style="padding:0px; margin:0px"> }<br style="padding:0px; margin:0px"><span style="color:#0000ff; padding:0px; margin:0px">package</span>com;<br style="padding:0px; margin:0px"><span style="color:#0000ff; padding:0px; margin:0px">import</span>java.text.SimpleDateFormat;<br style="padding:0px; margin:0px"><span style="color:#0000ff; padding:0px; margin:0px">import</span>java.util.Date;<br style="padding:0px; margin:0px"><span style="color:#0000ff; padding:0px; margin:0px">public</span><span style="color:#0000ff; padding:0px; margin:0px">class</span>JobData {<br style="padding:0px; margin:0px"><span style="color:#0000ff; padding:0px; margin:0px">public</span>String getData() {<br style="padding:0px; margin:0px"> SimpleDateFormat ddd =<span style="color:#0000ff; padding:0px; margin:0px">new</span>SimpleDateFormat(<span style="color:#800000; padding:0px; margin:0px">"yyyy-MM-dd hh:mm:ss"</span>);<br style="padding:0px; margin:0px"><span style="color:#0000ff; padding:0px; margin:0px">return</span><span style="color:#800000; padding:0px; margin:0px">"Data from "</span>+ ddd.format(<span style="color:#0000ff; padding:0px; margin:0px">new</span>Date());<br style="padding:0px; margin:0px"> }<br style="padding:0px; margin:0px"> }<br style="padding:0px; margin:0px"> </div> </div> 具体的xml文件配置如下:</wbr></wbr>
<?xmlversion="1.0"encoding="UTF-8"?>
<!DOCTYPE beans PUBLIC "-//SPRING//DTD BEAN//EN"
"http://www.springframework.org/dtd/spring-beans.dtd">

<beans>
<!--定义定时任务类-->
<beanid="someData"class="com.JobData"/>

<beanid="someJob"class="com.DemoJob">
<propertyname="jobData">
<refbean="someData"/>
</property>
</bean>

<beanid="jobDetailBean"class="org.springframework.scheduling.quartz.MethodInvokingJobDetailFactoryBean">
<propertyname="targetObject">
<refbean="someJob"/>
</property>
<propertyname="targetMethod">
<value>execute</value>
</property>
</bean>

<beanid="cronTriggerBean"class="org.springframework.scheduling.quartz.CronTriggerBean">
<!--这里定义定时任务的对象的位置-->
<propertyname="jobDetail">
<refbean="jobDetailBean"/>
</property>
<!--这里定义每天11点07分的时候程序执行一次-->
<propertyname="cronExpression">
<value>0 27 11 * * ?</value>
</property>
</bean>

<beanid="schedulerFactoryBean"class="org.springframework.scheduling.quartz.SchedulerFactoryBean">
<propertyname="triggers">
<list>
<refbean="cronTriggerBean"/>
</list>
</property>
</bean>
</beans>

本文出自 “自娱自乐” 博客,请务必保留此出处http://sunny.blog.51cto.com/182601/32366

分享到:
评论

相关推荐

    Spring提供的三种定时任务机制及其比较

    Spring提供的三种定时任务机制及其比较

    Spring Boot中的@Scheduled注解:定时任务的原理与实现

    通过本文,读者将能够了解如何在Spring Boot应用中轻松创建和管理定时任务。 # @Scheduled注解简介 在Spring框架中,@Scheduled注解用于标记一个方法,使其能够在固定的时间间隔内自动执行。这个注解主要基于Java的...

    Spring-Reference_zh_CN(Spring中文参考手册)

    12.2.2. 在Spring的application context中创建 SessionFactory 12.2.3. HibernateTemplate 12.2.4. 不使用回调的基于Spring的DAO实现 12.2.5. 基于Hibernate3的原生API实现DAO 12.2.6. 编程式的事务划分 12.2.7. ...

    Spring中文帮助文档

    6.8.1. 在Spring中使用AspectJ进行domain object的依赖注入 6.8.2. Spring中其他的AspectJ切面 6.8.3. 使用Spring IoC来配置AspectJ的切面 6.8.4. 在Spring应用中使用AspectJ加载时织入(LTW) 6.9. 更多资源 7...

    【附答案解析】最常⻅的 SpringCloud 微服务⾯试题(VIP典藏版)

    13. 引⽤Nacos配置的定时任务失效(Nacos⼯作中遇到问题) 14. Nacos加载那些配置,这些配置的优先级? 15. Nacos配置中⼼宕机了,会影响服务吗? 16. 配置中⼼的技术选型 17. 为什么Feign第⼀次调⽤耗时很⻓? ...

    从零开始学Spring Boot

    1.17 Spring Boot定时任务的使用 1.18 Spring Boot使用Druid和监控配置 1.19 Spring Boot使用Druid(编程注入) 1.20 Spring Boot普通类调用bean 1.21 使用模板(thymeleaf-freemarker) 1.22 Spring Boot 添加JSP...

    spring+quartz 动态任务方案

    Quartz 是个开源的作业调度框架,为在 Java 应用程序中进行作业调度提供了简单却强大的机制。Quartz 允许开发人员根据时间间隔(或天)来调度作业。它实现了作业和触发器的多对多关系,还能把多个作业与不同的触发器...

    Spring提供的三种定时任务机制及其比较.docx

    。。。

    Spring提供的三种定时任务机制及其比较.pdf

    。。。

    Spring 2.0 开发参考手册

    6.8.4. 在Spring应用中使用AspectJ Load-time weaving(LTW) 6.9. 其它资源 7. Spring AOP APIs 7.1. 简介 7.2. Spring中的切入点API 7.2.1. 概念 7.2.2. 切入点实施 7.2.3. AspectJ切入点表达式 7.2.4. ...

    使用quartz定时器实现系统多活,可以实现很多功能,比如集群中的系统多活检测,多设备接入的时候为每个设备创建定时获取数据机制

    使用quartz定时器实现系统多活,可以实现很多功能,比如集群中的系统多活检测,多设备接入的时候为每个设备创建定时获取数据机制,利用Quartz设计采集系统并实现系统双活机制_在SpringCloud中自己设计系统双活

    spring chm文档

    6.8.1. 在Spring中使用AspectJ来为domain object进行依赖注入 6.8.2. Spring中其他的AspectJ切面 6.8.3. 使用Spring IoC来配置AspectJ的切面 6.8.4. 在Spring应用中使用AspectJ Load-time weaving(LTW) 6.9. ...

    Spring API

    6.8.1. 在Spring中使用AspectJ进行domain object的依赖注入 6.8.2. Spring中其他的AspectJ切面 6.8.3. 使用Spring IoC来配置AspectJ的切面 6.8.4. 在Spring应用中使用AspectJ加载时织入(LTW) 6.9. 更多资源 7...

    基于Vue+SpringCloud博客的设计与实现 有论文

    用户签到中心:持续签到和累计签到奖励机制,以及会员导致经验值增益不同的机制,博客每日任务,排名特权,基本按照贴吧写的。 用户会员中心:SVIP与VIP,定时任务/RabbitMQ延迟队列/登录验证三种判定会员截止时间...

    springmvc+hibernate+springframework+shiro+bootstrap

    持久化层采用hibernate,安全方面采用shiro框架,页面风格采用bootstrap,同时里面还集成了javamelody监控,ehcache缓存机制,druid连接池管理,以及spring事务管理,spring定时任务,过滤器,拦截器等丰富的技术,...

    Spring Boot 整合 Netty + WebSocket 实时消息推送

    1、基于Spring Boot 实现的WebSocket实时数据通信Demo 2、结合Netty实现多客户端之间进行网络通信 3、在Web端建立多客户端之间的通信机制

    128元尚硅谷Java视频教程_Spring Boot视频教程(下)整合篇

    着重介绍SpringBoot的与各大场景的整合使用,内容包括:缓存(整合Redis),消息中间件(整合RabbitMQ),检索(整合ElasticSearch),任务(异步任务,定时任务,邮件任务),安全(整合SpringSecurity),分布式...

    基于layui+springcloud的企业级微服务框架

    5.基于kafka es链路存储的zipkin框架,为核心接口提供完整的调用链核查机制 6 集成xxl job 为企业提供分布式定时任务解决方案 7 api网关 利用应用管理申请的应用ID密钥申请token访问企业核心接口

    尚硅谷Java视频教程_Spring Boot视频教程(下)整合篇

    任务-定时任务 26、尚硅谷-SpringBoot高级-任务-邮件任务 27、尚硅谷-SpringBoot高级-安全-测试环境搭建 28、尚硅谷-SpringBoot高级-安全-登录&认证&授权 29、尚硅谷-SpringBoot高级-安全-权限控制&注销 30、尚硅谷-...

    springcloud-alibaba-demo-8-9.zip

    容错机制既可以在服务调用者中配置或在服务提供者中配置 在服务调用者中配置只对该调用者起作用(其他调用节点采用默认的) 在服务服务者中配置对所有调用者起作用 调用者的配置优先级高于服务者

Global site tag (gtag.js) - Google Analytics