public String getCron() { if (cronExpression != null) { return cronExpression; } String cron = null; if (tomcatId >= 980) { int shift = 360 + ((tomcatId - 980) * 2); long hours = TimeUnit.MINUTES.toHours(shift); long remainMinute = shift - TimeUnit.HOURS.toMinutes(hours); cron = "0 " + remainMinute + " " + hours + " * * ? *"; } else { int shift = 120 + (tomcatId * 2); long hours = TimeUnit.MINUTES.toHours(shift); long remainMinute = shift - TimeUnit.HOURS.toMinutes(hours); cron = "0 " + remainMinute + " " + hours + " * * ? *"; } if (CronExpression.isValidExpression(cron)) { return cron; } return "0 10 5 * * ?"; }