在生产环境要是使用Spring定时任务的话,会在多台机器上定时启动相同的任务,为了保证只在一台机器上执行定时任务,我们在执行定时任务的时候先判断一下当前机器的IP地址,如果和我们指定的IP地址一样,我们就在当前机器上执行定时任务,不一样的话,就不执行定时任务,这种思想只能控制定时任务的执行或者不执行,不能控制定时任务的启动或不启动。
try{
String ip = InetAddress.getLocalHost().getHostAddress();
}catch(Exception ex){
logService.insertLog( new Logs("taskJob", "定时任务","定时任务结束获取IP地址失败",new Date( ) ) );
}