From ed44183de31b00f942abc37a26ccda79a378932d Mon Sep 17 00:00:00 2001 From: eastargh Date: Mon, 29 Jun 2026 13:32:08 +0900 Subject: [PATCH] =?UTF-8?q?=EB=B0=B0=EC=B9=98=EC=9E=A1=20Reload=EC=8B=9C?= =?UTF-8?q?=20data=EB=8F=84=20reload=EB=90=98=EB=8F=84=EB=A1=9D=20?= =?UTF-8?q?=EC=88=98=EC=A0=95?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../eai/rms/common/scheduler/EMSSchedulerImpl.java | 10 ++++++++++ 1 file changed, 10 insertions(+) diff --git a/src/main/java/com/eactive/eai/rms/common/scheduler/EMSSchedulerImpl.java b/src/main/java/com/eactive/eai/rms/common/scheduler/EMSSchedulerImpl.java index d60458d..2474c2d 100644 --- a/src/main/java/com/eactive/eai/rms/common/scheduler/EMSSchedulerImpl.java +++ b/src/main/java/com/eactive/eai/rms/common/scheduler/EMSSchedulerImpl.java @@ -141,6 +141,16 @@ public class EMSSchedulerImpl implements EMSScheduler { JobDetail existingJob = clusteredScheduler.getJobDetail(jobKey); if (existing != null && existingJob != null) { + // JobDetail(JobData 포함) 갱신 + @SuppressWarnings("unchecked") + Class jobClass = (Class) Class.forName(jobInfo.getJobClassName()); + JobBuilder jobBuilder = newJob(jobClass).withIdentity(jobKey); + for (JobData jobData : jobInfo.getJobDatas()) { + jobBuilder.usingJobData(jobData.getId().getDataKey(), jobData.getDataValue()); + } + clusteredScheduler.addJob(jobBuilder.build(), true); + + // 트리거(cron) 갱신 CronTrigger newTrigger = newTrigger() .withIdentity(triggerKey) .withSchedule(cronSchedule(jobInfo.getCronExp()))