Browse Source

fix: log 정리

feature/socket
지대한 6 months ago
parent
commit
a553d64b7f
  1. 6
      app/kac-app/src/main/java/kr/co/palnet/kac/app/api/v1/inner/socket/controller/InnerSocketController.java
  2. 3
      app/kac-app/src/main/java/kr/co/palnet/kac/app/api/v1/inner/socket/scheduled/InnerSocketScheduled.java
  3. 12
      app/kac-app/src/main/java/kr/co/palnet/kac/app/api/v1/inner/socket/service/InnerSocketService.java
  4. 7
      app/kac-app/src/main/java/kr/co/palnet/kac/app/core/exception/ServerExceptionHandler.java
  5. 5
      app/kac-socket-app/src/main/java/kr/co/palnet/kac/socket/core/codec/DroneDecoder.java
  6. 3
      app/kac-socket-app/src/main/java/kr/co/palnet/kac/socket/core/codec/DroneEncoder.java
  7. 6
      app/kac-socket-app/src/main/java/kr/co/palnet/kac/socket/core/command/impl/AdsbDroneCommandImpl.java
  8. 4
      app/kac-socket-app/src/main/java/kr/co/palnet/kac/socket/core/command/impl/AntosDroneCommandImpl.java
  9. 10
      app/kac-socket-app/src/main/java/kr/co/palnet/kac/socket/core/command/impl/SandboxDroneCommandImpl.java
  10. 4
      app/kac-socket-app/src/main/java/kr/co/palnet/kac/socket/core/config/NettyConfig.java
  11. 12
      app/kac-socket-app/src/main/java/kr/co/palnet/kac/socket/core/handler/DroneHandler.java
  12. 8
      app/kac-socket-app/src/main/java/kr/co/palnet/kac/socket/core/socket/ChannelInitializer.java
  13. 1
      app/kac-websocket-app/src/main/java/kr/co/palnet/kac/websocket/controller/SocketReceiverController.java
  14. 25
      app/kac-websocket-app/src/main/java/kr/co/palnet/kac/websocket/core/codec/Decoder.java
  15. 26
      app/kac-websocket-app/src/main/java/kr/co/palnet/kac/websocket/core/codec/Encoder.java
  16. 4
      app/kac-websocket-app/src/main/java/kr/co/palnet/kac/websocket/core/config/NettyConfig.java
  17. 8
      app/kac-websocket-app/src/main/java/kr/co/palnet/kac/websocket/core/handler/WebSocketHandler.java
  18. 5
      app/kac-websocket-app/src/main/java/kr/co/palnet/kac/websocket/core/socket/ChannelInitializer.java
  19. 7
      app/kac-websocket-app/src/main/java/kr/co/palnet/kac/websocket/core/socket/WebSocketServer.java
  20. 2
      app/kac-websocket-app/src/main/java/kr/co/palnet/kac/websocket/service/ControlService.java
  21. 1
      app/kac-websocket-app/src/main/java/kr/co/palnet/kac/websocket/service/ScheduledService.java

6
app/kac-app/src/main/java/kr/co/palnet/kac/app/api/v1/inner/socket/controller/InnerSocketController.java

@ -22,8 +22,6 @@ public class InnerSocketController {
// dorn의 control 조회
@GetMapping("/control/{objectId}")
public ResponseEntity<SimpleControlDto> getControlId(@PathVariable String objectId) {
log.debug(">>>>> getControlId <<<<<");
log.debug(">>>>> objectId : {} <<<<<", objectId);
SimpleControlDto simpleControlDto = innerSocketService.getControlId(objectId);
return ResponseEntity.ok(simpleControlDto);
}
@ -31,7 +29,6 @@ public class InnerSocketController {
// dron 정보 저장
@PostMapping("/receiver/drone")
public ResponseEntity<Void> receiverDronData(@RequestBody DroneDto droneDto) {
log.debug(">>>>> receiver <<<<<");
innerSocketService.saveDronData(droneDto);
return ResponseEntity.ok().build();
}
@ -39,9 +36,6 @@ public class InnerSocketController {
// dron 정보 저장(전체)
@PostMapping("/receiver/drone/all")
public ResponseEntity<Void> receiverDronDataAll(@RequestBody Map<String, List<DroneDto>> droneDtoAll) {
log.debug(">>>>> receiver all <<<<<");
log.debug(">>>>> data : {}", droneDtoAll);
innerSocketService.saveDronDataAll(droneDtoAll);
return ResponseEntity.ok().build();
}

3
app/kac-app/src/main/java/kr/co/palnet/kac/app/api/v1/inner/socket/scheduled/InnerSocketScheduled.java

@ -16,9 +16,8 @@ public class InnerSocketScheduled {
/**
* 최신 수신일로 부터 특정 시간동안 데이터 수신되지 않는 경우 종료 처리
*/
// @Scheduled(fixedDelay = 10 * 1000)
@Scheduled(fixedDelay = 10 * 1000)
public void stopDronFlight() {
log.debug("drone flight stop scheduler started.");
innerSocketService.stopDronFlight();
}
}

12
app/kac-app/src/main/java/kr/co/palnet/kac/app/api/v1/inner/socket/service/InnerSocketService.java

@ -48,8 +48,6 @@ public class InnerSocketService {
// socket에 보내줄 control 조회 (controlId 발급용도)
@Transactional(readOnly = true)
public SimpleControlDto getControlId(String objectId) {
log.debug(">>>>> getControlId <<<<<");
log.debug(">>>>> objectId : {} <<<<<", objectId);
CtrCntrlBas latestControl = ctrCntrlBasRepository.findFirstByIdntfNumOrderByCreateDtDesc(objectId).orElse(null);
boolean isControl = false;
if (latestControl != null) {
@ -88,7 +86,6 @@ public class InnerSocketService {
ControlGpsStorage simpleControlStorage = ControlGpsStorage.getInstance();
simpleControlStorage.put(objectId, controlId);
}
log.debug(">>>> get control id : {}", simpleControlDto.getControlId());
return simpleControlDto;
}
@ -116,7 +113,6 @@ public class InnerSocketService {
}
if ("01".equals(droneDto.getTypeCd())) {
log.debug(">>>> drone dto type cd is 01");
// 비행 이력 생성
// 비행 이력, 비행 계획서 mapping
if (!"PA".equals(droneDto.getObjectId().substring(0, 2))) return;
@ -164,8 +160,6 @@ public class InnerSocketService {
fltPlanCtrCntrlRelRepository.save(fltPlanCtrCntrlRel);
}
} else {
log.debug(">>>> drone dto type cd is not 01");
}
// history 생성
@ -195,9 +189,7 @@ public class InnerSocketService {
.sensorDust(droneDto.getSensorDust())
.build();
log.debug(">>> send data :: control_id : {}", ctrCntrlHstry.getCntrlId());
log.debug(">>> send data :: oid, cid : {}, {}", droneDto.getObjectId(), droneDto.getControlId());
log.debug(">>> send data :: ctrCntrlBas : {}", ctrCntrlBas);
ctrCntrlHstry = ctrCntrlHstryRepository.save(ctrCntrlHstry);
if ("01".equals(droneDto.getTypeCd()) || "99".equals(droneDto.getTypeCd())) {
@ -242,7 +234,7 @@ public class InnerSocketService {
// 총 비행거리 Update
Double distance = getDistancSum(history.getCntrlId());
if (distance == null) log.error("No Search - CntrlId => {}", history.getCntrlId());
if (distance == null) log.warn("No Search - CntrlId => {}", history.getCntrlId());
ctrCntrlBas.setTtlDstnc(distance);
ctrCntrlBas.setTtlDstncType("M");

7
app/kac-app/src/main/java/kr/co/palnet/kac/app/core/exception/ServerExceptionHandler.java

@ -9,7 +9,6 @@ import lombok.RequiredArgsConstructor;
import lombok.extern.slf4j.Slf4j;
import org.springframework.beans.factory.annotation.Qualifier;
import org.springframework.context.NoSuchMessageException;
import org.springframework.context.i18n.LocaleContextHolder;
import org.springframework.context.support.MessageSourceAccessor;
import org.springframework.http.ResponseEntity;
import org.springframework.web.bind.annotation.ExceptionHandler;
@ -57,7 +56,7 @@ public class ServerExceptionHandler {
baseBody.setMessage(this.getMessage(BaseErrorCode.WEB_NOT_FOUND));
baseBody.setPath(e.getResourcePath());
log.warn("", e);
log.error("ERROR: ", e);
return ResponseEntity.status(e.getBody().getStatus()).body(baseBody);
}
@ -74,7 +73,7 @@ public class ServerExceptionHandler {
baseBody.setMessage(this.getMessage(errorType));
baseBody.setPath(this.getUrl());
log.error("", e);
log.error("ERROR: ", e);
return ResponseEntity.status(errorType.status()).body(baseBody);
}
@ -120,7 +119,7 @@ public class ServerExceptionHandler {
break;
case ERROR:
log.error("message: {}, params: {}, trace: ", message, paramArray, e);
log.error("", e);
log.error("ERROR: ", e);
break;
default:
break;

5
app/kac-socket-app/src/main/java/kr/co/palnet/kac/socket/core/codec/DroneDecoder.java

@ -14,19 +14,18 @@ import java.util.List;
@Slf4j
@RequiredArgsConstructor
public class DroneDecoder extends MessageToMessageDecoder<String> {
// private int DATA_LENGTH = 100;
private final ObjectMapper objectMapper = ObjectMapperUtil.getObjectMapper();
@Override
protected void decode(ChannelHandlerContext ctx, String in, List<Object> out) throws Exception {
log.debug(">>>>> decode <<<<<");
try {
DroneRq droneRq = objectMapper.readValue(in, DroneRq.class);
if (droneRq != null) {
out.add(droneRq);
}
} catch (Exception e) {
log.warn("decode parsing error : {} :: {}", e.getMessage(), in);
log.warn("decode parsing error : {}\ndata in : {}", e.getMessage(), in);
}
}
}

3
app/kac-socket-app/src/main/java/kr/co/palnet/kac/socket/core/codec/DroneEncoder.java

@ -17,12 +17,11 @@ public class DroneEncoder extends MessageToMessageEncoder<Object> {
@Override
protected void encode(ChannelHandlerContext ctx, Object in, List<Object> out) throws Exception {
log.debug(">>>>> encode <<<");
try {
String json = objectMapper.writeValueAsString(in);
out.add(json);
} catch (Exception e) {
log.warn("json parsing error : {} :: {}", e.getMessage(), in);
log.warn("json parsing error : {}\ndata in : {}", e.getMessage(), in);
}
}
}

6
app/kac-socket-app/src/main/java/kr/co/palnet/kac/socket/core/command/impl/AdsbDroneCommandImpl.java

@ -12,7 +12,6 @@ import kr.co.palnet.kac.socket.service.WebSocketService;
import kr.co.palnet.kac.util.DroneUtil;
import lombok.RequiredArgsConstructor;
import lombok.extern.slf4j.Slf4j;
import org.springframework.beans.factory.annotation.Value;
import org.springframework.stereotype.Component;
import java.time.Instant;
@ -27,10 +26,6 @@ public class AdsbDroneCommandImpl implements DroneCommand {
private final WebSocketService webSocketService;
private final KacAppService kacAppService;
@Value("${app.kac-app.host}")
private String kacAppHost;
@Override
public String getCommandName() {
return "ADS-B";
@ -38,7 +33,6 @@ public class AdsbDroneCommandImpl implements DroneCommand {
@Override
public void command(DroneRq rq) {
log.debug(">>>> AdsbCommandServiceImpl <<<<<");
List<DroneDto> resultList = rq.getBody();
/** 전문 설정 ***/

4
app/kac-socket-app/src/main/java/kr/co/palnet/kac/socket/core/command/impl/AntosDroneCommandImpl.java

@ -27,9 +27,6 @@ public class AntosDroneCommandImpl implements DroneCommand {
private final WebSocketService webSocketService;
private final KacAppService kacAppService;
@Value("${app.kac-app.host}")
private String kacAppHost;
@Override
public String getCommandName() {
return "ANTOS";
@ -37,7 +34,6 @@ public class AntosDroneCommandImpl implements DroneCommand {
@Override
public void command(DroneRq rq) {
log.debug(">>>> AntosCommandServiceImpl <<<<<");
List<DroneDto> resultList = rq.getBody();
/** 전문 설정 ***/

10
app/kac-socket-app/src/main/java/kr/co/palnet/kac/socket/core/command/impl/SandboxDroneCommandImpl.java

@ -12,7 +12,6 @@ import kr.co.palnet.kac.socket.service.WebSocketService;
import kr.co.palnet.kac.util.DroneUtil;
import lombok.RequiredArgsConstructor;
import lombok.extern.slf4j.Slf4j;
import org.springframework.beans.factory.annotation.Value;
import org.springframework.stereotype.Component;
import java.time.Instant;
@ -27,9 +26,6 @@ public class SandboxDroneCommandImpl implements DroneCommand {
private final WebSocketService webSocketService;
private final KacAppService kacAppService;
@Value("${app.kac-app.host}")
private String kacAppHost;
@Override
public String getCommandName() {
return "SANDBOX";
@ -37,8 +33,6 @@ public class SandboxDroneCommandImpl implements DroneCommand {
@Override
public void command(DroneRq rq) {
log.debug(">>>> SandboxCommandServiceImpl <<<<<");
log.debug("time 011 : {}::{}", Instant.now(), Instant.now().toEpochMilli());
List<DroneDto> resultList = rq.getBody();
/** 전문 설정 ***/
final String messageType = "LTEM";
@ -83,10 +77,7 @@ public class SandboxDroneCommandImpl implements DroneCommand {
if (droneCacheDto == null) {
// STEP 1. Control ID 발급 -> Application Server Http 통신
try {
log.debug("time 012 : {}::{}", Instant.now(), Instant.now().toEpochMilli());
SimpleControlDto simpleControlDto = kacAppService.getControlId(drone.getObjectId());
log.debug(">>> simple control dto : {}", simpleControlDto);
log.debug("time 013 : {}::{}", Instant.now(), Instant.now().toEpochMilli());
drone.setControlId(simpleControlDto.getControlId());
drone.setTypeCd(simpleControlDto.getTypeCd());
@ -144,7 +135,6 @@ public class SandboxDroneCommandImpl implements DroneCommand {
throw new IllegalArgumentException("좌표 정보가 존재하지 않습니다.");
}
}
log.debug("time 014 : {}::{}", Instant.now(), Instant.now().toEpochMilli());
}
}

4
app/kac-socket-app/src/main/java/kr/co/palnet/kac/socket/core/config/NettyConfig.java

@ -32,7 +32,6 @@ public class NettyConfig {
@Bean
public ServerBootstrap serverBootstrap(ChannelInitializer channelInitializer) {
log.debug(">>>>> serverBootstrap <<<<<");
// ServerBootstrap: 서버 설정을 도와주는 class
ServerBootstrap b = new ServerBootstrap();
b.group(bossGroup(), workerGroup())
@ -59,14 +58,12 @@ public class NettyConfig {
// boss: incoming connection을 수락하고, 수락한 connection을 worker에게 등록(register)
@Bean(destroyMethod = "shutdownGracefully")
public NioEventLoopGroup bossGroup() {
log.debug(">>>>> bossGroup <<<<<");
return new NioEventLoopGroup(bossCount);
}
// worker: boss가 수락한 연결의 트래픽 관리
@Bean(destroyMethod = "shutdownGracefully")
public NioEventLoopGroup workerGroup() {
log.debug(">>>>> workerGroup <<<<<");
return new NioEventLoopGroup();
}
@ -74,7 +71,6 @@ public class NettyConfig {
// 도메인 이름으로 객체 생성 가능
@Bean
public InetSocketAddress inetSocketAddress() {
log.debug(">>>>> inetSocketAddress <<<<<");
return new InetSocketAddress(port);
}
}

12
app/kac-socket-app/src/main/java/kr/co/palnet/kac/socket/core/handler/DroneHandler.java

@ -10,7 +10,6 @@ import kr.co.palnet.kac.socket.core.storage.AuthKeyStorage;
import lombok.extern.slf4j.Slf4j;
import org.springframework.stereotype.Component;
import java.time.Instant;
import java.util.HashMap;
import java.util.List;
import java.util.Map;
@ -33,7 +32,6 @@ public class DroneHandler extends SimpleChannelInboundHandler<DroneRq> {
//
@Override
protected void channelRead0(ChannelHandlerContext ctx, DroneRq rq) throws Exception {
log.debug("time start : {}::{}", Instant.now(), Instant.now().toEpochMilli());
// key 검사
if (rq == null) {
ctx.writeAndFlush(DroneRs.builder()
@ -68,9 +66,7 @@ public class DroneHandler extends SimpleChannelInboundHandler<DroneRq> {
}
log.debug(">>> rq : {}", rq);
log.debug("time 002 : {}::{}", Instant.now(), Instant.now().toEpochMilli());
DroneCommand commandService = commandMap.get(rq.getCommand().trim());
log.debug("time 003 : {}::{}", Instant.now(), Instant.now().toEpochMilli());
if (commandService == null) {
ctx.writeAndFlush(DroneRs.builder()
@ -80,9 +76,7 @@ public class DroneHandler extends SimpleChannelInboundHandler<DroneRq> {
return;
}
try {
log.debug("time 004 : {}::{}", Instant.now(), Instant.now().toEpochMilli());
commandService.command(rq);
log.debug("time 005 : {}::{}", Instant.now(), Instant.now().toEpochMilli());
} catch (Exception e) {
ctx.writeAndFlush(DroneRs.builder()
.code("-500")
@ -94,22 +88,18 @@ public class DroneHandler extends SimpleChannelInboundHandler<DroneRq> {
.code("0")
.message("success")
.build());
log.debug("time end : {}::{}", Instant.now(), Instant.now().toEpochMilli());
}
// 에러 처리
@Override
public void exceptionCaught(ChannelHandlerContext ctx, Throwable cause) {
log.debug(">>>> exceptionCaught <<<<<");
log.error("ERROR: {}", cause.getMessage(), cause);
DroneRs rs = DroneRs.builder()
.code("-9999")
.message("error - etc")
.build();
ctx.writeAndFlush(rs);
// Close the connection when an exception is raised.
ctx.close();
log.error("ERROR: {}", cause.getMessage(), cause);
}

8
app/kac-socket-app/src/main/java/kr/co/palnet/kac/socket/core/socket/ChannelInitializer.java

@ -23,17 +23,15 @@ public class ChannelInitializer extends io.netty.channel.ChannelInitializer<Sock
// 클라이언트 소켓 채널이 생성될 때 호출
@Override
protected void initChannel(SocketChannel ch) {
log.debug(">>>>> initChannel <<<<<");
ChannelPipeline pipeline = ch.pipeline();
// 뒤이어 처리할 디코더 및 핸들러 추가
pipeline.addLast("json-decoder", new JsonObjectDecoder());
pipeline.addLast("string-decoder", new StringDecoder(CharsetUtil.UTF_8));
pipeline.addLast("string-encoder", new StringEncoder(CharsetUtil.UTF_8));
pipeline.addLast("dron-decoder", new DroneDecoder());
pipeline.addLast("dron-encoder", new DroneEncoder());
pipeline.addLast("dron-handler", dronSocketHandler);
pipeline.addLast("drone-decoder", new DroneDecoder());
pipeline.addLast("drone-encoder", new DroneEncoder());
pipeline.addLast("drone-handler", dronSocketHandler);
}
}

1
app/kac-websocket-app/src/main/java/kr/co/palnet/kac/websocket/controller/SocketReceiverController.java

@ -23,7 +23,6 @@ public class SocketReceiverController {
@PostMapping("/drone")
public ResponseEntity<Void> receiver(@RequestBody DroneDto droneDto) {
log.debug("websocket message receiver : {}", droneDto);
DroneControlDto history = controlService.dronDtoToControlDtoConvert(droneDto);
// DRON의 대한 식별정보만 이력 관리

25
app/kac-websocket-app/src/main/java/kr/co/palnet/kac/websocket/core/codec/Decoder.java

@ -1,25 +0,0 @@
package kr.co.palnet.kac.websocket.core.codec;
import io.netty.channel.ChannelHandlerContext;
import io.netty.handler.codec.MessageToMessageDecoder;
import lombok.RequiredArgsConstructor;
import lombok.extern.slf4j.Slf4j;
import java.util.List;
@Slf4j
@RequiredArgsConstructor
public class Decoder extends MessageToMessageDecoder<Object> {
// private int DATA_LENGTH = 100;
// private final ObjectMapper objectMapper = ObjectMapperUtils.getObjectMapper();
@Override
protected void decode(ChannelHandlerContext ctx, Object in, List<Object> out) throws Exception {
log.debug(">>>>> decode <<<<<");
try {
} catch (Exception e) {
log.warn("decode parsing error : {} :: {}", e.getMessage(), in);
}
}
}

26
app/kac-websocket-app/src/main/java/kr/co/palnet/kac/websocket/core/codec/Encoder.java

@ -1,26 +0,0 @@
package kr.co.palnet.kac.websocket.core.codec;
import com.fasterxml.jackson.databind.ObjectMapper;
import io.netty.channel.ChannelHandlerContext;
import io.netty.handler.codec.MessageToMessageEncoder;
import kr.co.palnet.kac.util.ObjectMapperUtil;
import lombok.RequiredArgsConstructor;
import lombok.extern.slf4j.Slf4j;
import java.util.List;
@Slf4j
@RequiredArgsConstructor
public class Encoder extends MessageToMessageEncoder<Object> {
private final ObjectMapper objectMapper = ObjectMapperUtil.getObjectMapper();
@Override
protected void encode(ChannelHandlerContext ctx, Object msg, List<Object> out) throws Exception {
log.debug(">>>>> encode <<<");
try {
} catch (Exception e) {
log.warn("json parsing error : {} :: {}", e.getMessage(), msg);
}
}
}

4
app/kac-websocket-app/src/main/java/kr/co/palnet/kac/websocket/core/config/NettyConfig.java

@ -33,7 +33,6 @@ public class NettyConfig {
@Bean
public ServerBootstrap serverBootstrap(ChannelInitializer channelInitializer) {
log.debug(">>>>> serverBootstrap <<<<<");
// ServerBootstrap: 서버 설정을 도와주는 class
ServerBootstrap b = new ServerBootstrap();
b.group(bossGroup(), workerGroup());
@ -59,14 +58,12 @@ public class NettyConfig {
// boss: incoming connection을 수락하고, 수락한 connection을 worker에게 등록(register)
@Bean(destroyMethod = "shutdownGracefully")
public NioEventLoopGroup bossGroup() {
log.debug(">>>>> bossGroup <<<<<");
return new NioEventLoopGroup(bossCount);
}
// worker: boss가 수락한 연결의 트래픽 관리
@Bean(destroyMethod = "shutdownGracefully")
public NioEventLoopGroup workerGroup() {
log.debug(">>>>> workerGroup <<<<<");
return new NioEventLoopGroup();
}
@ -74,7 +71,6 @@ public class NettyConfig {
// 도메인 이름으로 객체 생성 가능
@Bean
public InetSocketAddress inetSocketAddress() {
log.debug(">>>>> inetSocketAddress <<<<<");
return new InetSocketAddress(port);
}
}

8
app/kac-websocket-app/src/main/java/kr/co/palnet/kac/websocket/core/handler/WebSocketHandler.java

@ -3,8 +3,6 @@ package kr.co.palnet.kac.websocket.core.handler;
import io.netty.channel.ChannelHandler;
import io.netty.channel.ChannelHandlerContext;
import io.netty.channel.SimpleChannelInboundHandler;
import io.netty.channel.group.ChannelGroup;
import io.netty.handler.codec.http.websocketx.TextWebSocketFrame;
import io.netty.handler.codec.http.websocketx.WebSocketFrame;
import kr.co.palnet.kac.websocket.core.storage.ChannelStorage;
import lombok.extern.slf4j.Slf4j;
@ -20,25 +18,19 @@ public class WebSocketHandler extends SimpleChannelInboundHandler<WebSocketFrame
@Override
protected void channelRead0(ChannelHandlerContext ctx, WebSocketFrame msg) throws Exception {
log.debug(">>>> channelRead0 <<<<<");
}
@Override
public void channelRegistered(ChannelHandlerContext ctx) throws Exception {
log.debug(">>>>> channelRegistered <<<<<");
}
@Override
public void channelActive(ChannelHandlerContext ctx) throws Exception {
log.debug(">>>>> channelActive <<<<<");
ChannelStorage channelStorage = ChannelStorage.getInstance();
log.debug("active size before : {}", channelStorage.getGroup().size());
channelStorage.add(ctx.channel());
log.debug("active size after : {}", channelStorage.getGroup().size());
}
@Override
public void channelInactive(ChannelHandlerContext ctx) throws Exception {
log.debug(">>>>> channelInactive <<<<<");
}
}

5
app/kac-websocket-app/src/main/java/kr/co/palnet/kac/websocket/core/socket/ChannelInitializer.java

@ -22,7 +22,6 @@ public class ChannelInitializer extends io.netty.channel.ChannelInitializer<Sock
// 클라이언트 소켓 채널이 생성될 때 호출
@Override
protected void initChannel(SocketChannel ch) {
log.debug(">>>>> initChannel <<<<<");
ChannelPipeline pipeline = ch.pipeline();
pipeline.addLast(new HttpServerCodec());
@ -30,10 +29,6 @@ public class ChannelInitializer extends io.netty.channel.ChannelInitializer<Sock
pipeline.addLast(new WebSocketServerCompressionHandler());
pipeline.addLast(new WebSocketServerProtocolHandler("/ws", null, true));
pipeline.addLast(new IdleStateHandler(0, 0, 180));
// pipeline.addLast(new DronEncoder(), new DronDecoder());
pipeline.addLast(webSocketHandler);
// pipeline.addLast(new WebSocketHandler());
log.debug("pipeline : {}", pipeline);
}
}

7
app/kac-websocket-app/src/main/java/kr/co/palnet/kac/websocket/core/socket/WebSocketServer.java

@ -19,7 +19,6 @@ public class WebSocketServer {
private Channel serverChannel;
public void start() {
log.debug(">>>>> start <<<<<");
try {
// ChannelFuture: I/O operation의 결과나 상태를 제공하는 객체
// 지정한 host, port로 소켓을 바인딩하고 incoming connections을 받도록 준비함
@ -27,16 +26,14 @@ public class WebSocketServer {
// 서버 소켓이 닫힐 때까지 기다림
serverChannel = serverChannelFuture.channel().closeFuture().sync().channel();
}
catch (InterruptedException e) {
e.printStackTrace();
} catch (InterruptedException e) {
log.error("ERROR: {}", e.getMessage(), e);
}
}
// Bean을 제거하기 전에 해야할 작업이 있을 때 설정
@PreDestroy
public void stop() {
log.debug(">>>>> stop <<<<<");
if (serverChannel != null) {
serverChannel.close();
serverChannel.parent().closeFuture();

2
app/kac-websocket-app/src/main/java/kr/co/palnet/kac/websocket/service/ControlService.java

@ -21,8 +21,6 @@ public class ControlService {
ControlStorage controlCache = ControlStorage.getInstance();
Map<String, DroneControlDto> allHistory = controlCache.getAll();
log.debug(">>> getList :: {}", allHistory);
if (Objects.nonNull(allHistory)) {
allHistory.forEach((k, v) -> {
/*

1
app/kac-websocket-app/src/main/java/kr/co/palnet/kac/websocket/service/ScheduledService.java

@ -26,7 +26,6 @@ public class ScheduledService {
// 접속한 모든 채널에 데이터 전송
@Scheduled(fixedDelay = 10 * 1000) // 10초
public void sendAllChannel() {
log.debug("ready send to all channel");
// 채널 가져오기
ChannelStorage channelStorage = ChannelStorage.getInstance();
ChannelGroup channelGroup = channelStorage.getGroup();

Loading…
Cancel
Save