|
@@ -3,8 +3,8 @@ package com.tsi.comm.server.process.packet;
|
|
|
import com.tsi.app.common.app.AppUtils;
|
|
|
import com.tsi.app.common.cpu.enums.eOpCode;
|
|
|
import com.tsi.app.common.utils.TimeUtils;
|
|
|
+import com.tsi.comm.server.config.TsiCvimServerConfig;
|
|
|
import com.tsi.comm.server.kafka.KafkaProducerService;
|
|
|
-import com.tsi.comm.server.mongo.repository.TsiNodeStatusRepository;
|
|
|
import com.tsi.comm.server.process.AbstractTsiCvimWorker;
|
|
|
import com.tsi.comm.server.process.logging.TsiCvimLoggingProcess;
|
|
|
import com.tsi.comm.server.protocol.AbstractTsiPacket;
|
|
@@ -24,7 +24,7 @@ public class TsiCvimPacketWorker extends AbstractTsiCvimWorker implements Runnab
|
|
|
private final LinkedBlockingQueue<AbstractTsiPacket> DATA_QUEUE;
|
|
|
private final KafkaProducerService kafkaProducer;
|
|
|
private final TsiCvimLoggingProcess loggingService;
|
|
|
- private TsiNodeStatusRepository tsiNodeStatusRepository;
|
|
|
+ private TsiCvimServerConfig cvimServerConfig;
|
|
|
|
|
|
public TsiCvimPacketWorker(int idx, int qSize, KafkaProducerService kafkaProducer) {
|
|
|
this.idx = idx;
|
|
@@ -32,13 +32,7 @@ public class TsiCvimPacketWorker extends AbstractTsiCvimWorker implements Runnab
|
|
|
this.kafkaProducer = kafkaProducer;
|
|
|
this.loggingService = (TsiCvimLoggingProcess) AppUtils.getBean(TsiCvimLoggingProcess.class);
|
|
|
this.DATA_QUEUE = new LinkedBlockingQueue<>(qSize);
|
|
|
- try {
|
|
|
- this.tsiNodeStatusRepository = (TsiNodeStatusRepository) AppUtils.getBean(TsiNodeStatusRepository.class);
|
|
|
- }
|
|
|
- catch(Exception e) {
|
|
|
- this.tsiNodeStatusRepository = null;
|
|
|
- log.error("MongoDB: {}", e.getMessage());
|
|
|
- }
|
|
|
+ this.cvimServerConfig = (TsiCvimServerConfig) AppUtils.getBean(TsiCvimServerConfig.class);
|
|
|
}
|
|
|
|
|
|
@Override
|
|
@@ -116,11 +110,16 @@ public class TsiCvimPacketWorker extends AbstractTsiCvimWorker implements Runnab
|
|
|
}
|
|
|
|
|
|
// 메모리에서 객체를 찾은 후 패킷 파싱
|
|
|
- if (!cpuPacket.parsing(nodeVo)) {
|
|
|
- MDC.put("id", nodeVo.getKey());
|
|
|
+ // 20250425: packet parsing의 로그를 노드별 로그파일에 저장되도록 MDC 위치 변경
|
|
|
+ // 20250425: parsing 함수에 packet-check 여부를 같이 넘겨줘서 CRC 체크여부 확인
|
|
|
+ MDC.put("id", nodeVo.getKey());
|
|
|
+ if (!cpuPacket.parsing(nodeVo, this.cvimServerConfig.isCheckPacket())) {
|
|
|
+ // MDC.put("id", nodeVo.getKey());
|
|
|
log.error("Packet parsing failed: {}", packet.getNodeId());
|
|
|
- MDC.clear();
|
|
|
+ // MDC.clear();
|
|
|
}
|
|
|
+ MDC.clear();
|
|
|
+
|
|
|
packet.setPar(System.nanoTime());
|
|
|
|
|
|
// 카프카 전송
|