현재 운영중이 어플리케니션에서 간혈적으로 에러가 나기 시작했다.
public static void sendMessage() throws Exception {
// Read commands from the stdin.
ChannelFuture lastWriteFuture = null;
try {
Map<String, Object> sendMessage = new Hashtable<String, Object>();
//Key
SimpleDateFormat keyFormat = new SimpleDateFormat("yyyyMMddHHmmss");
sendMessage.put("key", keyFormat.format(nowDate));
//메시지
sendMessage.put("MESSAGE", "OK");
List<OrderDto> orderList = null;
orderList = saleClientService.selectSaleList();
logger.info("SEND ORDER_SIZE=" + orderList.size());
logger.info("SEND MESSAGE=" + sendMessage.toString());
// Sends the received line to the server.
lastWriteFuture = channel.writeAndFlush(sendMessage);
// Wait until all messages are flushed before closing the channel.
if (lastWriteFuture != null) {
lastWriteFuture.sync();
}
} catch(Exception e) {
logger.error("**********************************************************");
logger.error("sendMessage Error - " + e.getMessage());
for(StackTraceElement stackTrace : e.getStackTrace()) {
logger.error(stackTrace.toString());
}
logger.error("**********************************************************");
}
}
에러나는 소스 부분은 위와 같은데...
---------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------
[INFO ](ObjectEchoClient.java:183)-SEND ORDER_SIZE=1
[INFO ](ObjectEchoClient.java:186)-SEND MESSAGE={MESSAGE=OK, SEND_ORDER_DATA=[OrderDto@1c2f025], key=20200531215802}
[ERROR ](ObjectEchoClient.java:197)-**********************************************************
[ERROR ](ObjectEchoClient.java:198)-sendMessage Error - null
[ERROR ](ObjectEchoClient.java:202)-**********************************************************
[INFO ](ObjectEchoClient.java:270)-Disconnect Server
---------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------
e.getMessage() 를 로그를 찍어도.. Null 만 찍히는 것이다..
위에 Null 만 봐서는.. 에러 로그를 확인이 불가능...
전에 포스팅한 디버그 로그 옵션을 주고 3일동안 돌려보았다.
3일동안 로그를 확인해본 결과
간혈적으로 에러 났던 부분이 드디어 로그에 찍혔다.
[21:01:27][DEBUG ](Slf4JLogger.java:71)-[id: 0xfecbf461, /192.168.XXX.XXX:4281 => /xxx.000.xxx.000:5002] FLUSH
[21:01:27][INFO ](LoggingHandler.java:324)-[id: 0xfecbf461, /192.168.XXX.XXX:4281 => /xxx.000.xxx.000:5002] FLUSH
[21:01:36][DEBUG ](Slf4JLogger.java:71)-[id: 0xfecbf461, /192.168.XXX.XXX:4281 => /xxx.000.xxx.000:5002] USER_EVENT: SslHandshakeCompletionEvent(javax.net.ssl.SSLException: handshake timed out)
[21:01:36][ERROR ](LoggingHandler.java:248)-[id: 0xfecbf461, /192.168.XXX.XXX:4281 => /xxx.000.xxx.000:5002] USER_EVENT: SslHandshakeCompletionEvent(javax.net.ssl.SSLException: handshake timed out)
[21:01:36][ERROR ](ObjectEchoClient.java:201)-**********************************************************
[21:01:36][DEBUG ](Slf4JLogger.java:71)-[id: 0xfecbf461, /192.168.XXX.XXX:4281 :> /xxx.000.xxx.000:5002] INACTIVE
[21:01:36][ERROR ](ObjectEchoClient.java:202)-sendMessage Error - null
[21:01:36][ERROR ](ObjectEchoClient.java:206)-**********************************************************
[21:01:36][INFO ](ObjectEchoClient.java:276)-Disconnect Server
SslHandshakeCompletionEvent(javax.net.ssl.SSLException: handshake timed out) 에러가 난것..
handshake timed out 에러라...
현재 Netty Server 쪽에는
SO_BACKLOG 및 SO_KEEPALIVE 옵션 설정이 안되어 있다...
두개의 옵션으로 해결이 될지는 모르겠지만...
옵션을 추가하여 테스트를 해보고 그 결과를 다시 포스트 하겠다.
'개발경험 및 메모 > Netty' 카테고리의 다른 글
Netty - handshake timed out 에러 (2) (0) | 2020.07.03 |
---|---|
Netty Error - adjusted frame length exceeds 1048576 (0) | 2020.06.21 |
Netty 로깅 핸들러 (0) | 2020.06.20 |
최근댓글