Java 定时任务加载数据库设备信息
这段代码是一个方法,名为 startLoadAllDeviceFromSpring(),它使用定时器(Timer)从数据库加载所有设备信息并存储到对应的 Map 中。
-
定时加载: 方法使用
timer.schedule()方法创建一个定时任务,并设置一个延迟时间START_LOAD_ALL_BASE_DEVICE_LIST_DELAY_TIME。任务将在延迟时间后开始执行。 -
加载数据: 任务在
TimerTask.run()方法中执行。代码调用一系列方法从数据库中获取不同类型的数据,例如:getAllDeviceMap()获取所有设备信息,存储到allBaseDeviceMap和allMoveDeviceMap中。getAllRegularMap()获取所有正常规则信息,存储到allRegularMap中。- 其他方法类似,获取不同类型的数据并存储到相应的 Map 中。
-
记录执行时间: 代码使用
System.currentTimeMillis()记录任务开始和结束时间,并计算执行时间并输出。 -
输出日志: 代码使用
LogDebug.log()方法输出调试信息,包括存储的设备数量和执行时间。
总体来说,这段代码实现了定时加载数据库设备信息的功能,并将数据存储到 Map 中,方便后续使用。
代码示例:
/**
* 开始从数据库加载所有设备
*/
private void startLoadAllDeviceFromSpring() {
timer.schedule(new TimerTask() {
@Override
public void run() {
long startTime = System.currentTimeMillis();
getAllDeviceMap();
getAllRegularMap();
getAllSpecificRegularMap();
getAllProjectDemeritInfoMap();
getAllTrainingGroundDataMap();
getAllProjectRouteMapDataMap();
getAllProjectMap();
getAllCarModelMap();
getAllAudioFileMap();
LogDebug.log('-------usedTime-------:' + (System.currentTimeMillis() - startTime));
LogDebug.log('allBaseDeviceMap:' + allBaseDeviceMap.size());
LogDebug.log('allMoveDeviceMap:' + allMoveDeviceMap.size());
LogDebug.log('allRegularMap:' + allRegularMap.size());
LogDebug.log('allSpecificRegularMap:' + allSpecificRegularMap.size());
LogDebug.log('allProjectDemeritInfoMap:' + allProjectDemeritInfoMap.size());
LogDebug.log('allTrainingGroundDataMap:' + allTrainingGroundDataMap.size());
LogDebug.log('allProjectRouteMapDataMap:' + allProjectRouteMapDataMap.size());
LogDebug.log('allProjectMap:' + allProjectMap.size());
LogDebug.log('allCarModelMap:' + allCarModelMap.size());
LogDebug.log('allAudioFileMap:' + allAudioFileMap.size());
LogDebug.log('allProjectTypeMap:' + allProjectTypeMap.size());
}
}, START_LOAD_ALL_BASE_DEVICE_LIST_DELAY_TIME);
}
原文地址: https://www.cveoy.top/t/topic/oADg 著作权归作者所有。请勿转载和采集!