public static void syncJobDefs(DbConn cnx, List<JobDefDto> dtos) { for (JobDefDto existing : getJobDef(cnx)) { boolean foundInNewSet = false; for (JobDefDto newdto : dtos) { if (newdto.getId() != null && newdto.getId().equals(existing.getId())) { foundInNewSet = true; break; } } if (!foundInNewSet) { deleteJobDef(cnx, existing.getId()); } } for (JobDefDto dto : dtos) { upsertJobDef(cnx, dto); } }
public static void syncJobDefs(DbConn cnx, List<JobDefDto> dtos) { for (JobDefDto existing : getJobDef(cnx)) { boolean foundInNewSet = false; for (JobDefDto newdto : dtos) { if (newdto.getId() != null && newdto.getId().equals(existing.getId())) { foundInNewSet = true; break; } } if (!foundInNewSet) { deleteJobDef(cnx, existing.getId()); } } for (JobDefDto dto : dtos) { upsertJobDef(cnx, dto); } }
public static void upsertJobDef(DbConn cnx, JobDefDto dto) if (dto.getId() != null) dto.isEnabled(), false, dto.isHighlander(), dto.getJarPath(), dto.getJavaClassName(), null, dto.getKeyword1(), dto.getKeyword2(), dto.getKeyword3(), dto.getReasonableRuntimeLimitMinute(), dto.getModule(), PathType.valueOf(dto.getPathType()), dto.getClassLoaderId(), dto.getQueueId(), dto.getId()); cnx.runUpdate("jdprm_delete_all_for_jd", dto.getId()); for (Map.Entry<String, String> e : dto.getParameters().entrySet()) JobDefParameter.create(cnx, e.getKey(), e.getValue(), dto.getId()); cnx.runUpdate("sjprm_delete_all_for_jd", dto.getId()); cnx.runUpdate("sj_delete_all_for_jd", dto.getId()); List<ScheduledJob> existingSchedules = ScheduledJob.select(cnx, "sj_select_for_jd", dto.getId()); List<ScheduledJob> toDelete = new ArrayList<>(); ScheduledJob.create(cnx, sj.getCronExpression(), dto.getId(), sj.getQueue(), sj.getPriority(), sj.getParameters());
public static void upsertJobDef(DbConn cnx, JobDefDto dto) if (dto.getId() != null) dto.isEnabled(), false, dto.isHighlander(), dto.getJarPath(), dto.getJavaClassName(), null, dto.getKeyword1(), dto.getKeyword2(), dto.getKeyword3(), dto.getReasonableRuntimeLimitMinute(), dto.getModule(), PathType.valueOf(dto.getPathType()), dto.getClassLoaderId(), dto.getQueueId(), dto.getId()); cnx.runUpdate("jdprm_delete_all_for_jd", dto.getId()); for (Map.Entry<String, String> e : dto.getParameters().entrySet()) JobDefParameter.create(cnx, e.getKey(), e.getValue(), dto.getId()); cnx.runUpdate("sjprm_delete_all_for_jd", dto.getId()); cnx.runUpdate("sj_delete_all_for_jd", dto.getId()); List<ScheduledJob> existingSchedules = ScheduledJob.select(cnx, "sj_select_for_jd", dto.getId()); List<ScheduledJob> toDelete = new ArrayList<ScheduledJob>(); ScheduledJob.create(cnx, sj.getCronExpression(), dto.getId(), sj.getQueue(), sj.getPriority(), sj.getParameters());