umsDispatums dispatcher 기능 변경
This commit is contained in:
@@ -52,7 +52,7 @@ public class JobHistoryService extends AbstractEMSDataSerivce<JobHistory, String
|
||||
|
||||
String rctStatus = findRecentStatus(jobName, instanceName); // 최근 Data 조회
|
||||
|
||||
log.info("[DHJEONG]1_rctStatus-->{}, jobName-->{}, instanceName-->{}", rctStatus, jobName, instanceName);
|
||||
// log.info("[DHJEONG]1_rctStatus-->{}, jobName-->{}, instanceName-->{}", rctStatus, jobName, instanceName);
|
||||
|
||||
if (!status.equals(rctStatus) || !"E".equals(jobInfo.getChkStatus())) {
|
||||
// 'Y' 이면 무조건 등록, 'E' 이면 ==> Status 바뀌면 등록
|
||||
|
||||
@@ -8,6 +8,10 @@ import org.quartz.JobExecutionContext;
|
||||
import org.quartz.JobExecutionException;
|
||||
import org.springframework.beans.factory.annotation.Autowired;
|
||||
|
||||
import java.util.Arrays;
|
||||
import java.util.Set;
|
||||
import java.util.stream.Collectors;
|
||||
|
||||
/**
|
||||
* Admin Job Configuration
|
||||
* ----------------------
|
||||
@@ -18,30 +22,31 @@ import org.springframework.beans.factory.annotation.Autowired;
|
||||
// Cron Expression: */5 * * * * ?
|
||||
@Slf4j
|
||||
public class UmsDispatchJob implements Job {
|
||||
|
||||
|
||||
private final UmsDispatchService umsDispatchService;
|
||||
|
||||
|
||||
@Autowired
|
||||
public UmsDispatchJob(UmsDispatchService umsDispatchService) {
|
||||
this.umsDispatchService = umsDispatchService;
|
||||
}
|
||||
|
||||
|
||||
@Override
|
||||
public void execute(JobExecutionContext context) throws JobExecutionException {
|
||||
log.info("Starting Message Dispatch Job...");
|
||||
|
||||
// inst.Name 이 지정된 경우 해당 인스턴스에서만 동작
|
||||
String jobInstName = context.getJobDetail().getJobDataMap().getString("inst.Name");
|
||||
String jobInstName = context.getJobDetail().getJobDataMap().getString("execute.instances");
|
||||
if (StringUtils.isNotEmpty(jobInstName)) {
|
||||
log.debug("Job 실행 인스턴스 명이 지정되어 있음 - {}", jobInstName);
|
||||
jobInstName = jobInstName.toLowerCase();
|
||||
Set<String> propInstances = Arrays.stream(jobInstName.split(",")).map(String::trim).collect(Collectors.toSet());
|
||||
|
||||
jobInstName = jobInstName.trim();
|
||||
String instanceName = System.getProperty("inst.Name");
|
||||
if (StringUtils.isNotEmpty(instanceName)) {
|
||||
log.debug("현재 인스턴스 명 : {}", instanceName);
|
||||
instanceName = instanceName.trim();
|
||||
instanceName = instanceName.trim().toLowerCase();
|
||||
|
||||
if (!jobInstName.equalsIgnoreCase(instanceName)) {
|
||||
if (!propInstances.contains(instanceName)) {
|
||||
log.debug("Job 인스턴스명과 현재 인스턴스명이 다름. 종료 처리");
|
||||
return;
|
||||
}
|
||||
|
||||
Reference in New Issue
Block a user