|
|
@ -9,30 +9,35 @@ import org.springframework.stereotype.Component; |
|
|
|
import java.util.Date; |
|
|
|
import java.util.Date; |
|
|
|
import java.util.List; |
|
|
|
import java.util.List; |
|
|
|
import java.util.Map; |
|
|
|
import java.util.Map; |
|
|
|
|
|
|
|
import java.util.Objects; |
|
|
|
|
|
|
|
|
|
|
|
@Component |
|
|
|
@Component |
|
|
|
public class GpHistoryScheduler { |
|
|
|
public class GpHistoryScheduler { |
|
|
|
|
|
|
|
|
|
|
|
private final int timeLimit = 5; |
|
|
|
private final int timeLimit = 10; |
|
|
|
private final GPHistoryShareContext gpHistoryShareContext; |
|
|
|
private final GPHistoryShareContext gpHistoryShareContext; |
|
|
|
|
|
|
|
|
|
|
|
public GpHistoryScheduler(GPHistoryShareContext gpHistoryShareContext) { |
|
|
|
public GpHistoryScheduler(GPHistoryShareContext gpHistoryShareContext) { |
|
|
|
this.gpHistoryShareContext = gpHistoryShareContext; |
|
|
|
this.gpHistoryShareContext = gpHistoryShareContext; |
|
|
|
} |
|
|
|
} |
|
|
|
|
|
|
|
|
|
|
|
@Scheduled(fixedDelay = 1000 * 60 * 5) |
|
|
|
/* Client 노출 시간 Test 10초 */ |
|
|
|
|
|
|
|
@Scheduled(fixedDelay = 1000 * 10) |
|
|
|
public void removeHistory() { |
|
|
|
public void removeHistory() { |
|
|
|
Map<String, CtrCntrlModel> allHistory = gpHistoryShareContext.getAllHistory(); |
|
|
|
Map<String, CtrCntrlModel> allHistory = gpHistoryShareContext.getAllHistory(); |
|
|
|
|
|
|
|
|
|
|
|
// Key 의 존재하는 데이터는 마지막 서버수신 History Data
|
|
|
|
// Key 의 존재하는 데이터는 마지막 서버수신 History Data
|
|
|
|
|
|
|
|
if(Objects.nonNull(allHistory)) { |
|
|
|
allHistory.forEach((k, v) -> { |
|
|
|
allHistory.forEach((k, v) -> { |
|
|
|
Date serverRcvDt = DateUtils.stringToDate(v.getServerRcvDt()); |
|
|
|
Date serverRcvDt = DateUtils.stringToDatetime(v.getServerRcvDt()); |
|
|
|
long diffMinute = DateUtils.diffMinute(serverRcvDt, new Date()); |
|
|
|
long diffMinute = DateUtils.diffMinute(serverRcvDt, new Date()); |
|
|
|
|
|
|
|
long diffSecond = DateUtils.diffSecond(serverRcvDt, new Date()); |
|
|
|
|
|
|
|
|
|
|
|
if(diffMinute > timeLimit) { |
|
|
|
if(diffSecond > timeLimit) { |
|
|
|
gpHistoryShareContext.removeHistory(k); |
|
|
|
gpHistoryShareContext.removeHistory(k); |
|
|
|
} |
|
|
|
} |
|
|
|
}); |
|
|
|
}); |
|
|
|
} |
|
|
|
} |
|
|
|
|
|
|
|
} |
|
|
|
|
|
|
|
|
|
|
|
} |
|
|
|
} |
|
|
|