- SchedulerFactoryBean配置
1
2
3
4
5
6
7
8
9
10<bean
class="org.springframework.scheduling.quartz.SchedulerFactoryBean">
<property name="triggers">
<list>
<!--<ref bean="ptGetDeviceListTask" />定时同步IVS摄像头列表及状态 -->
<!--<ref bean="ptFrontDeviceSynGisTask"/>定时同步空间数据库摄像头列表及状态与点位信息 -->
<ref bean ="useInfoSynTask"/>
</list>
</property>
</bean>
SimpleTriggerBean配置
1
2
3
4
5
6
7
8
9
10
11
12
13<bean id="useInfoSynTask" class="org.springframework.scheduling.quartz.SimpleTriggerBean">
<property name="jobDetail">
<ref bean="useInfoTime" />
</property>
<!-- 这里是服务启动后延时多少时间,开始计时任务,单位ms-->
<property name="startDelay">
<value>0</value>
</property>
<!-- 这里是每隔多长时间就进行一次计时任务,单位ms : 1分钟 60000 10分钟 600000, 20分钟 1200000, 30分钟 1800000, 60分钟3600000-->
<property name="repeatInterval">
<value>60000</value>
</property>
</bean>JobDetailBean配置
1
2
3
4
5
6
7
8
9
10
11
12<bean id="useInfoTime" class="org.springframework.scheduling.quartz.JobDetailBean">
<property name="jobClass">
<value>
com.suncreate.pahfpt.web.job.UserInfoSynTime
</value>
</property>
<property name="jobDataAsMap">
<map>
<entry key="ptUserInfoService" value-ref="ptUserInfoServiceImpl"/>
</map>
</property>
</bean>UserInfoSynTime
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28public class UserInfoSynTime extends QuartzJobBean {
private static final Logger log = LoggerFactory.getLogger(UserInfoSynTime.class);
private PtUserInfoService ptUserInfoService;
protected UserInfoSynService userInfoSynService = new UserInfoSynService();
protected void executeInternal(JobExecutionContext arg0) throws JobExecutionException {
try {
userInfoSynService.setPtUserInfoService(ptUserInfoService);
log.info("定时器开始用户同步,开始时间:" + Calendar.getInstance().getTime());
userInfoSynService.executeSync();
log.info("定时器结束用户同步,结束时间:" + Calendar.getInstance().getTime());
} catch (Exception e) {
e.printStackTrace();
}
}
public void setUserInfoSynService(UserInfoSynService userInfoSynService) {
this.userInfoSynService = userInfoSynService;
}
public void setPtUserInfoService(PtUserInfoService ptUserInfoService) {
this.ptUserInfoService = ptUserInfoService;
}
}UserInfoSynService
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18public class UserInfoSynService {
private static final Logger log = LoggerFactory.getLogger(UserInfoSynService.class);
private PtUserInfoService ptUserInfoService;
public void executeSync() {
try {
synUserInfo(); //具体同步方法
} catch (Exception e) {
log.error("定时器同步用户失败...", e);
}
}
public void setPtUserInfoService(PtUserInfoService ptUserInfoService) {
this.ptUserInfoService = ptUserInfoService;
}
}