发表于: 2018-06-09 23:41:04

2 891


今天完成的任务:

和袁磊两个人的接口文档基本搞定,他写的前台,我写的后台

Spring定时任务的三种实现方式:

1.Java自带的java.util.Timer类,这个类允许你调度一个java.util.TimerTask任务。使用这种方式可以让你的程序按照某一个频度执行,但不能在指定时间运行。一般用的较少。

2.使用Quartz,这是一个功能比较强大的的调度器,可以让你的程序在指定时间执行,也可以按照某一个频度执行,配置起来稍显复杂。

3.Spring3.0以后自带的task,可以将它看成一个轻量级的Quartz,而且使用起来比Quartz简单许多.


Quartz

第一种:继承org.springframework.scheduling.quartz.QuartzJobBean类,

(1)首先要定义一个作业类:

//调度工厂实例化后,经过timeout时间开始执行调度  

public void setTimeout(int timeout) {  

this.timeout = timeout;  

}  

  

/** 

* 要调度的具体任务 

*/  

@Override  

protected void executeInternal(JobExecutionContext context)  

throws JobExecutionException {  

  System.out.println("定时任务执行中…");  

}  

(2)然后要配置作业类:

<bean name="job1" class="org.springframework.scheduling.quartz.JobDetailBean">  

<property name="jobClass" value="com.gy.Job1" />  

<property name="jobDataAsMap">  

<map>  

<entry key="timeout" value="0" />  

</map>  

</property>  

</bean>  

JobDetailBean有两个属性,jobclass属性是我们定义的任务类,jobdataasmap即该任务类中需要注入的属性值。

(3)配置触发器

第一种simpleTriggerBean,只支持按照一定频度调用任务,如每隔30分钟运行一次

<bean id="simpleTrigger" class="org.springframework.scheduling.quartz.SimpleTriggerBean">  

<property name="jobDetail" ref="job1" />  

<property name="startDelay" value="0" /><!-- 调度工厂实例化后,经过0秒开始执行调度 -->  

<property name="repeatInterval" value="2000" /><!-- 每2秒调度一次 -->  

</bean>  

第二种CronTriggerBean支持到指定时间运行一次

<bean id="cronTrigger" class="org.springframework.scheduling.quartz.CronTriggerBean">  

<property name="jobDetail" ref="job1" />  

<!—每天12:00运行一次 -->  

<property name="cronExpression" value="0 0 12 * * ?" />  

</bean>  

(4)配置调度工厂

<bean class="org.springframework.scheduling.quartz.SchedulerFactoryBean">  

<property name="triggers">  

<list>  

<ref bean="cronTrigger" />  

</list>  

</property>  

</bean>  

如果不继承类的话需要在配置文件的时候声明一个factorybean。


今天遇到的问题:

1.data返回的类型应该是什么?如果返回一个对象data里面还用嵌套一个对象?

比如查看某文章 是 data: article: 属性 属性 还是data:属性 属性

2.有些接口是合并写好还是分开写好

3.前端返回的字段中还用不用加userid,因为登录的时候已经存在cookie中作为sessionID会返回来

4.签到那个界面还是有问题,我们是返给前端一个array?那时间戳判断是哪一天,我们后端自己做还是交给前端做?怎么判断每月的多少天?

今天的收获:

在和袁磊互相检查接口文档的时候发现了不少问题

明天的计划:

敲定最后的文档,完成细节实现


返回列表 返回列表
评论

    分享到