diff --git a/src/main/java/com/eactive/eai/rms/ext/djb/job/PortalInquiryClosingJob.java b/src/main/java/com/eactive/eai/rms/ext/djb/job/PortalInquiryClosingJob.java index afc8c69..34e2997 100644 --- a/src/main/java/com/eactive/eai/rms/ext/djb/job/PortalInquiryClosingJob.java +++ b/src/main/java/com/eactive/eai/rms/ext/djb/job/PortalInquiryClosingJob.java @@ -11,9 +11,10 @@ import org.quartz.Job; import org.quartz.JobDataMap; import org.quartz.JobExecutionContext; import org.quartz.JobExecutionException; +import org.quartz.SchedulerException; import org.slf4j.Logger; import org.slf4j.LoggerFactory; -import org.springframework.beans.factory.annotation.Autowired; +import org.springframework.context.ApplicationContext; import java.util.Arrays; import java.util.Set; @@ -45,9 +46,6 @@ public class PortalInquiryClosingJob implements Job { private static final int DEFAULT_CLOSING_DAYS = 7; - @Autowired - private PortalInquiryClosingService inquiryCommentClosingService; - @Override public void execute(JobExecutionContext context) throws JobExecutionException { JobDataMap jobDataMap = context.getJobDetail().getJobDataMap(); @@ -67,6 +65,15 @@ public class PortalInquiryClosingJob implements Job { log.info("*** START PortalInquiryCommentClosingService run({})", CommonUtil.getToday("yyyy-MM-dd HH:mm")); + PortalInquiryClosingService service; + try { + ApplicationContext appContext = (ApplicationContext) context.getScheduler().getContext().get("applicationContext"); + service = appContext.getBean(PortalInquiryClosingService.class); + } catch (SchedulerException e) { + log.error("applicationContext 조회 실패", e); + throw new JobExecutionException(e); + } + int closingDays = DEFAULT_CLOSING_DAYS; String closingDayParam = context.getMergedJobDataMap().getString(KEY_INQUIRY_COMMENT_CLOSING_DAY); if (closingDayParam != null) { @@ -80,7 +87,7 @@ public class PortalInquiryClosingJob implements Job { DataSourceContextHolder.setDataSourceType( DataSourceTypeManager.getDataSourceType(DataSourceTypeManager.APIGW)); try { - int closedCount = inquiryCommentClosingService.closeExpiredInquiries(closingDays); + int closedCount = service.closeExpiredInquiries(closingDays); log.info("PortalInquiryCommentClosingService 완료: {}건 CLOSED 처리", closedCount); } catch (Exception e) { log.error("PortalInquiryCommentClosingService execution failed", e);