|
@@ -0,0 +1,134 @@
|
|
|
+package com.its.op.scheduler.job;
|
|
|
+
|
|
|
+import com.its.op.config.AppUtils;
|
|
|
+import com.its.op.dao.mapper.bis.BisDbmsSttsMapper;
|
|
|
+import com.its.op.dao.mapper.its.dbms.DbmsSttsMapper;
|
|
|
+import com.its.op.dto.its.dbms.SessionSttsDto;
|
|
|
+import com.its.op.dto.its.dbms.TbTbDbmsSttsDto;
|
|
|
+import com.its.op.dto.its.dbms.TblSpaceSttsDto;
|
|
|
+import com.its.utils.ItsUtils;
|
|
|
+import lombok.AllArgsConstructor;
|
|
|
+import lombok.extern.slf4j.Slf4j;
|
|
|
+import org.springframework.core.env.Environment;
|
|
|
+import org.springframework.scheduling.annotation.Async;
|
|
|
+import org.springframework.stereotype.Service;
|
|
|
+import org.springframework.util.StopWatch;
|
|
|
+
|
|
|
+import javax.annotation.PostConstruct;
|
|
|
+import java.util.ArrayList;
|
|
|
+import java.util.Arrays;
|
|
|
+import java.util.List;
|
|
|
+
|
|
|
+@Slf4j
|
|
|
+@AllArgsConstructor
|
|
|
+@Service
|
|
|
+public class DbmsSttsJobThread {
|
|
|
+
|
|
|
+ private final Environment environment;
|
|
|
+ private final DbmsSttsMapper dbmsSttsMapper;
|
|
|
+
|
|
|
+ @PostConstruct
|
|
|
+ private void init() {
|
|
|
+ log.info("{}", this);
|
|
|
+ }
|
|
|
+
|
|
|
+ @Async("schJobExecutor")
|
|
|
+ public void run() {
|
|
|
+
|
|
|
+ log.info("START: DbmsSttsJobThread.run: {}", Thread.currentThread().getName());
|
|
|
+
|
|
|
+ StopWatch stopWatch = new StopWatch();
|
|
|
+ stopWatch.start();
|
|
|
+
|
|
|
+ //List<TbDbmsSttsDto> dbms = this.dbmsSttsMapper.findAll();
|
|
|
+ List<TbTbDbmsSttsDto> result = new ArrayList<>();
|
|
|
+// private String DBMS_ID;
|
|
|
+// private Integer INST_ID;
|
|
|
+// private String STTS_TYPE;
|
|
|
+// private String STTS_NAME;
|
|
|
+// private String STTS;
|
|
|
+// private String UPDT_DT;
|
|
|
+
|
|
|
+ String UPDT_DT = ItsUtils.getSysTime();
|
|
|
+
|
|
|
+ List<SessionSttsDto> session = this.dbmsSttsMapper.findSessionUsage();
|
|
|
+ session.forEach((obj) -> {
|
|
|
+ String STTS_NAME;
|
|
|
+ if (obj.getINST_ID() == 101) {
|
|
|
+ STTS_NAME = "ITS DB #1";
|
|
|
+ } else if (obj.getINST_ID() == 102) {
|
|
|
+ STTS_NAME = "ITS DB #2";
|
|
|
+ } else {
|
|
|
+ return;
|
|
|
+ }
|
|
|
+ TbTbDbmsSttsDto data = TbTbDbmsSttsDto.builder()
|
|
|
+ .DBMS_ID("ITS")
|
|
|
+ .INST_ID(obj.getINST_ID())
|
|
|
+ .STTS_TYPE("SESSION")
|
|
|
+ .STTS_NAME(STTS_NAME)
|
|
|
+ .STTS(String.valueOf(obj.getUSE_SESN()))
|
|
|
+ .UPDT_DT(UPDT_DT)
|
|
|
+ .build();
|
|
|
+ result.add(data);
|
|
|
+ });
|
|
|
+
|
|
|
+ List<TblSpaceSttsDto> tbls = this.dbmsSttsMapper.findTblsUsage();
|
|
|
+ tbls.forEach((obj) -> {
|
|
|
+ TbTbDbmsSttsDto data = TbTbDbmsSttsDto.builder()
|
|
|
+ .DBMS_ID("ITS")
|
|
|
+ .INST_ID(101)
|
|
|
+ .STTS_TYPE("SPACE")
|
|
|
+ .STTS_NAME(obj.getTBLS_NM())
|
|
|
+ .STTS(String.valueOf(obj.getTBLS_REMAIN_STTS()))
|
|
|
+ .UPDT_DT(UPDT_DT)
|
|
|
+ .build();
|
|
|
+ result.add(data);
|
|
|
+ });
|
|
|
+
|
|
|
+ boolean isRunBis = Arrays.asList(environment.getActiveProfiles()).contains("bis");
|
|
|
+ if (isRunBis) {
|
|
|
+ BisDbmsSttsMapper bisDbmsSttsMapper = (BisDbmsSttsMapper) AppUtils.getBean(BisDbmsSttsMapper.class);;
|
|
|
+ List<SessionSttsDto> bisSession = bisDbmsSttsMapper.findSessionUsage();
|
|
|
+ bisSession.forEach((obj) -> {
|
|
|
+ String STTS_NAME;
|
|
|
+ if (obj.getINST_ID() == 101) {
|
|
|
+ STTS_NAME = "BIS DB #1";
|
|
|
+ } else if (obj.getINST_ID() == 102) {
|
|
|
+ STTS_NAME = "BIS DB #2";
|
|
|
+ } else {
|
|
|
+ return;
|
|
|
+ }
|
|
|
+ TbTbDbmsSttsDto data = TbTbDbmsSttsDto.builder()
|
|
|
+ .DBMS_ID("BIS")
|
|
|
+ .INST_ID(obj.getINST_ID())
|
|
|
+ .STTS_TYPE("SESSION")
|
|
|
+ .STTS_NAME(STTS_NAME)
|
|
|
+ .STTS(String.valueOf(obj.getUSE_SESN()))
|
|
|
+ .UPDT_DT(UPDT_DT)
|
|
|
+ .build();
|
|
|
+ result.add(data);
|
|
|
+ });
|
|
|
+
|
|
|
+ List<TblSpaceSttsDto> bisTbls = bisDbmsSttsMapper.findTblsUsage();
|
|
|
+ bisTbls.forEach((obj) -> {
|
|
|
+ TbTbDbmsSttsDto data = TbTbDbmsSttsDto.builder()
|
|
|
+ .DBMS_ID("BIS")
|
|
|
+ .INST_ID(101)
|
|
|
+ .STTS_TYPE("SPACE")
|
|
|
+ .STTS_NAME(obj.getTBLS_NM())
|
|
|
+ .STTS(String.valueOf(obj.getTBLS_REMAIN_STTS()))
|
|
|
+ .UPDT_DT(UPDT_DT)
|
|
|
+ .build();
|
|
|
+ result.add(data);
|
|
|
+ });
|
|
|
+ }
|
|
|
+
|
|
|
+ // 결과 저장
|
|
|
+ result.forEach((obj) -> {
|
|
|
+ this.dbmsSttsMapper.updateDbmsStts(obj);
|
|
|
+ });
|
|
|
+ stopWatch.stop();
|
|
|
+ log.info("--END: DbmsSttsJobThread.run: {}, {} ms.", Thread.currentThread().getName(), stopWatch.getTotalTimeMillis());
|
|
|
+ }
|
|
|
+
|
|
|
+}
|