본문 바로가기
Programming/TCP IP

[Netty/JAVA] 재접속 오류 확인

by Pendine 2021. 7. 21.
728x90

리스너클래스가 접속시 사용하는 클래스에서 제대로 생성된다면 연결 종료시 정확하게 동작하지만

문제는 클래스 생성이 제대로 돼지 않아서 생기는 문제였다.

 

무슨말이냐면

 

연결 시도시 연결 종료시 사용하는 리스너 클래스를 구분하여

connect리스너, closed connect 리스너라는 클래스로 구분하여 사용하고있었는데

 

설마 자바 클래스 생성이 안되서 생기는 문제겠냐며

일단 이놈들이 제대로 시작하는 시점이 언제고 언제등록됐는지 알아보기위해

생성자를 이용해서 생성자 작동시 바로 로그를 출력하도록 했는데

 

설마하던 일이 일어났음.

연결 시도시 사용하는 connect 리스너는 항상 잘 작동함.

 

잘 작동하는 놈은 conenct 리스너는 대체로 항상 작동하는데 (작동이 안되면 바로 티가 나겠지) 

close 리스너 클래스가 생성이 안되는듯하다.

 

아래의 첨부한 로그를 확인해보면 항상 connect 리스너가 생성된뒤 close connect 리스너가 생성됌을 알수있는데

connect 리스너 로그뒤에 아무런 로그도 남지 않은걸 알 수 있다.

 

객체 생성이 안되는건 대체 무슨 문제인가...

매번 InetAddress 클래스를 이용해서 새로운 연결정보를 삽입해주고

연결 시도하는 connect메소드를 통해서 채널 퓨처 만들고

채널 퓨처의 내부에 있는 채널에 연결 시도시 사용할 리스너 클래스를 붙여주고 연결 종료시 사용할 리스너 클래스를 붙여주는데

아주 자바의 기본적인 동작인데

 

불과 1분전까지만해도 잘 동작하던 클래스가 갑자기 동작을 안한다라...

어떤.... 걸 해야지 해결될수있을까

 

일단 스택 오버플로에 있는 소스를 참고해서

재귀호출로 동작하게 만들긴했는데

재귀호출 이놈은 별로 그닥 믿음이 안가는 놈이라 걱정임

 

분명히 똑같은 일이 일어날 것 같은데

 

객체생성이 안되서 일어난 일이라 무슨 말도안되는 일인지....

 

 

로그 내용

 

더보기
2021-07-21 00:53:45.005 [INFO ] c.i.network.netty.codec.---TCPEncoder   [encode : 52] | TARGET --- ID : 16 | OPCODE : 12 | VALUE : 0   
2021-07-21 00:53:55.951 [INFO ] com.company.handler.---IdleStateHandler [channelIdle : 77] |  --- ID : 16 | Active channelIdle | ctx.toString : ChannelHandlerContext(---IdleStateHandler, [id: 0xe9f72eb8, L:/***.**.**.*** - R:/***.**.**.***]) | ctx.channel.toString : [id: 0xe9f72eb8, L:/***.**.**.*** - R:/***.**.**.***]  
2021-07-21 00:53:55.952 [INFO ] com.company.handler.---IdleStateHandler [channelIdle : 83] | --- ID : 16 | channelIdle | IdleStateEvent : READER_IDLE  
2021-07-21 00:53:55.952 [INFO ] com.company.handler.---IdleStateHandler [channelIdle : 88] | Terminate Reader idle channel | 읽기 대기시간 초과 | --- ID : 16 | #Remote[***.**.**.***::ChannelHandlerContext(---IdleStateHandler, [id: 0xe9f72eb8, L:/***.**.**.*** - R:/***.**.**.***])] 
2021-07-21 00:53:55.952 [INFO ] com.company.handler.---IdleStateHandler [channelIdle : 92] | Terminate | --- ID : 16 | Reader idle channel | Reader idle Time : 60  
2021-07-21 00:53:55.952 [INFO ] com.company.handler.---IdleStateHandler [close : 363] |  ---ID : 16 | close | ctx.toString : ChannelHandlerContext(---IdleStateHandler, [id: 0xe9f72eb8, L:/***.**.**.*** - R:/***.**.**.***:]) | ctx.channel.toString : [id: 0xe9f72eb8, L:/***.**.**.*** - R:/***.**.**.***]  
2021-07-21 00:53:55.952 [INFO ] com.company.handler.---IdleStateHandler [close : 383] | --- : 16 | UserIdleStateHandler : ChannelClosed - Channel #1866933932 : /***.**.**.***
2021-07-21 00:53:55.953 [INFO ] c.i.n.n.listener.CloseFutureListener    [operationComplete : 46] |  --- ID : 16 | 연결 종료 리스너 동작 | awaitUninterruptibly 동작 전 
2021-07-21 00:53:55.953 [INFO ] c.i.n.n.listener.CloseFutureListener    [operationComplete : 48] |  --- ID : 16 | 연결 종료 리스너 동작 | awaitUninterruptibly 동작 후 
2021-07-21 00:53:55.953 [INFO ] c.i.n.n.listener.CloseFutureListener    [StringChannelStatus : 99] | --- ID : 16 | IP : ***.**.**.*** | ChannelFuture isSuccess	: true 
2021-07-21 00:53:55.954 [INFO ] c.i.n.n.listener.CloseFutureListener    [StringChannelStatus : 100] | --- ID : 16 | IP : ***.**.**.*** | ChannelFuture isDone		: true 
2021-07-21 00:53:55.954 [INFO ] c.i.n.n.listener.CloseFutureListener    [StringChannelStatus : 101] | --- ID : 16 | IP : ***.**.**.*** | ChannelFuture isCancelled	: false 
2021-07-21 00:53:55.954 [INFO ] c.i.n.n.listener.CloseFutureListener    [StringChannelStatus : 102] | --- ID : 16 | IP : ***.**.**.*** | ChannelFuture isCancellable: false 
2021-07-21 00:53:55.955 [INFO ] c.i.n.n.listener.CloseFutureListener    [StringChannelStatus : 103] | --- ID : 16 | IP : ***.**.**.*** | ChannelFuture isVoid		: false 
2021-07-21 00:53:55.955 [INFO ] c.i.n.n.listener.CloseFutureListener    [operationComplete : 60] |  --- ID : 16 | channelFuture isSuccess | Reconnect Try 
2021-07-21 00:53:55.956 [INFO ] com.company.handler.---IdleStateHandler [channelInactive : 271] |  --- ID : 16 | channelInactive | ctx.toString : ChannelHandlerContext(---IdleStateHandler, [id: 0xe9f72eb8, L:/***.**.**.*** ! R:/***.**.**.***]) | ctx.channel.toString : [id: 0xe9f72eb8, L:/***.**.**.*** ! R:/***.**.**.***]  
2021-07-21 00:53:55.956 [INFO ] com.company.handler.---IdleStateHandler [channelInactive : 277] |  --- ID : 16 연결 종료 
2021-07-21 00:53:55.957 [INFO ] com.company.handler.---IdleStateHandler [channelInactive : 278] | --- ID : 16 | channelInactive | #Remote[***.**.**.***:734395063] 
2021-07-21 00:53:55.957 [INFO ] com.company.handler.---IdleStateHandler [channelInactive : 286] | --- ID : 16 | channelInactive | --------change ==> 상태1  
2021-07-21 00:53:55.957 [INFO ] com.company.handler.---IdleStateHandler [channelInactive : 292] |  --- ID : 16 | channelInactive | ---ContStatus.totalUpdate()  
2021-07-21 00:53:55.971 [INFO ] com.company.handler.---IdleStateHandler [channelUnregistered : 446] |   --- ID : 16 | channelUnregistered | ctx.toString : ChannelHandlerContext(---IdleStateHandler, [id: 0xe9f72eb8, L:/***.**.**.*** ! R:/***.**.**.***]) | ctx.channel.toString : [id: 0xe9f72eb8, L:/***.**.**.*** ! R:/***.**.**.***]  
2021-07-21 00:53:55.971 [INFO ] com.company.handler.---IdleStateHandler [channelUnregistered : 454] |  --- ID : 16 | channelUnregistered | CTX.toString : ChannelHandlerContext(---IdleStateHandler, [id: 0xe9f72eb8, L:/***.**.**.*** ! R:/***.**.**.***])  
2021-07-21 00:53:56.956 [INFO ] c.company.network.netty.NettyTCPClient  [call : 152] |  --- ID : 16 | NettyTCPClient | InetSocketAddress Setting | HOST : ***.**.**.*** | PORT : ----
2021-07-21 00:53:56.957 [INFO ] c.company.network.netty.NettyTCPClient  [call : 171] |  --- ID : 16 | channel is Active : false  
2021-07-21 00:53:56.957 [INFO ] c.company.network.netty.NettyTCPClient  [call : 172] |  --- ID : 16 | channel is Open : true  
2021-07-21 00:53:56.957 [INFO ] c.company.network.netty.NettyTCPClient  [call : 173] |  --- ID : 16 | channel is Writable : true  
2021-07-21 00:53:56.958 [INFO ] c.company.network.netty.NettyTCPClient  [call : 174] |  --- ID : 16 | channel is Registered : true  
2021-07-21 00:53:56.958 [INFO ] c.company.network.netty.NettyTCPClient  [call : 178] |  --- ID : 16 | 채널 열림 
2021-07-21 00:53:56.958 [INFO ] c.company.network.netty.NettyTCPClient  [call : 181] | NettyTCPClient | call() | --- ID : 16 | netty tcp client connectChannelFuture.isDone() : false  
2021-07-21 00:53:56.958 [INFO ] c.company.network.netty.NettyTCPClient  [call : 182] | NettyTCPClient | call() | --- ID : 16 | netty tcp client connectChannelFuture.isSuccess()  : false  
2021-07-21 00:53:56.959 [INFO ] c.company.network.netty.NettyTCPClient  [call : 183] | NettyTCPClient | call() | --- ID : 16 | netty tcp client connectChannelFuture.isCancellable() : false  
2021-07-21 00:53:56.959 [INFO ] c.company.network.netty.NettyTCPClient  [call : 184] | NettyTCPClient | call() | --- ID : 16 | netty tcp client connectChannelFuture.isCancelled() : false  
2021-07-21 00:53:56.959 [INFO ] c.company.network.netty.NettyTCPClient  [call : 185] | NettyTCPClient | call() | --- ID : 16 | netty tcp access info : /***.**.**.***  
2021-07-21 00:53:56.959 [INFO ] c.company.network.netty.NettyTCPClient  [call : 186] | NettyTCPClient | call() | --- ID : 16 | netty tcp client channel future : [id: 0xb8800888]  
2021-07-21 00:53:56.959 [INFO ] c.i.n.n.listener.ConnectFutureListener  [<init> : 36] |  ---_ID : 16 | ConnectFutureListener 생성 
2021-07-21 00:53:56.959 [INFO ] c.i.n.n.listener.CloseFutureListener    [<init> : 31] |  ---_ID : 16 | CloseFutureListener 생성 
2021-07-21 00:53:56.960 [INFO ] c.i.n.n.listener.ConnectFutureListener  [StringChannelStatus : 133] | --- ID : 16 | IP : ***.**.**.*** | ChannelFuture isSuccess	: true 
2021-07-21 00:53:56.960 [INFO ] c.i.n.n.listener.ConnectFutureListener  [StringChannelStatus : 134] | --- ID : 16 | IP : ***.**.**.*** | ChannelFuture isDone		: true 
2021-07-21 00:53:56.960 [INFO ] c.i.n.n.listener.ConnectFutureListener  [StringChannelStatus : 135] | --- ID : 16 | IP : ***.**.**.*** | ChannelFuture isCancelled	: false 
2021-07-21 00:53:56.960 [INFO ] c.i.n.n.listener.ConnectFutureListener  [StringChannelStatus : 136] | --- ID : 16 | IP : ***.**.**.*** | ChannelFuture isCancellable: false 
2021-07-21 00:53:56.961 [INFO ] c.i.n.n.listener.ConnectFutureListener  [StringChannelStatus : 137] | --- ID : 16 | IP : ***.**.**.*** | ChannelFuture isVoid		: false 
2021-07-21 00:53:56.961 [INFO ] c.i.n.n.listener.ConnectFutureListener  [operationComplete : 53] | channel is Active : true 
2021-07-21 00:53:56.961 [INFO ] c.i.n.n.listener.ConnectFutureListener  [operationComplete : 54] | channel is Open : true 
2021-07-21 00:53:56.961 [INFO ] c.i.n.n.listener.ConnectFutureListener  [operationComplete : 55] | channel is Writable : true 
2021-07-21 00:53:56.962 [INFO ] c.i.n.n.listener.ConnectFutureListener  [operationComplete : 56] | channel is Registered : true 
2021-07-21 00:53:56.962 [INFO ] c.i.n.n.listener.ConnectFutureListener  [operationComplete : 58] | --- ID : 16 연결 시도 
2021-07-21 00:53:56.962 [INFO ] c.i.n.n.listener.ConnectFutureListener  [operationComplete : 65] |  --- ID : 16 | channelFuture is not null | channelFuture toString : AbstractBootstrap$PendingRegistrationPromise@3cf7a094(success)  
2021-07-21 00:53:56.963 [ERROR] c.i.n.n.listener.ConnectFutureListener  [operationComplete : 112] | 접속시 예외처리. 접속 예외 | NullPointerException | Exception Log : java.lang.NullPointerException
	at com.company.util.LogHelper.getPrintStackTrace(LogHelper.java:11)
	at com.company.network.netty.listener.ConnectFutureListener.operationComplete(ConnectFutureListener.java:83)
	at com.company.network.netty.listener.ConnectFutureListener.operationComplete(ConnectFutureListener.java:1)
	at io.netty.util.concurrent.DefaultPromise.notifyListener0(DefaultPromise.java:511)
	at io.netty.util.concurrent.DefaultPromise.notifyListeners0(DefaultPromise.java:504)
	at io.netty.util.concurrent.DefaultPromise.notifyListenersNow(DefaultPromise.java:483)
	at io.netty.util.concurrent.DefaultPromise.notifyListeners(DefaultPromise.java:424)
	at io.netty.util.concurrent.DefaultPromise.trySuccess(DefaultPromise.java:103)
	at io.netty.channel.DefaultChannelPromise.trySuccess(DefaultChannelPromise.java:84)
	at io.netty.channel.nio.AbstractNioChannel$AbstractNioUnsafe.fulfillConnectPromise(AbstractNioChannel.java:306)
	at io.netty.channel.nio.AbstractNioChannel$AbstractNioUnsafe.finishConnect(AbstractNioChannel.java:341)
	at io.netty.channel.nio.NioEventLoop.processSelectedKey(NioEventLoop.java:633)
	at io.netty.channel.nio.NioEventLoop.processSelectedKeysOptimized(NioEventLoop.java:580)
	at io.netty.channel.nio.NioEventLoop.processSelectedKeys(NioEventLoop.java:497)
	at io.netty.channel.nio.NioEventLoop.run(NioEventLoop.java:459)
	at io.netty.util.concurrent.SingleThreadEventExecutor$5.run(SingleThreadEventExecutor.java:886)
	at io.netty.util.concurrent.FastThreadLocalRunnable.run(FastThreadLocalRunnable.java:30)
	at java.lang.Thread.run(Thread.java:745)
  
2021-07-21 00:53:56.963 [INFO ] com.company.handler.---IdleStateHandler [channelActive : 169] |  --- : 16 | channelActive | ctx.toString : ChannelHandlerContext(---IdleStateHandler, [id: 0xb8800888, L:/***.**.**.*** - R:/***.**.**.***]) | ctx.channel.toString : [id: 0xb8800888, L:/***.**.**.*** - R:/***.**.**.***]  
2021-07-21 00:53:56.964 [INFO ] com.company.handler.---IdleStateHandler [channelActive : 182] |  --- ID : 16 연결 성공  
2021-07-21 00:53:56.964 [INFO ] com.company.handler.---IdleStateHandler [channelActive : 184] |  --- ID : 16 채널 세팅. CTX.toString  
2021-07-21 00:53:56.965 [INFO ] com.company.handler.---IdleStateHandler [channelActive : 197] |  --- ID : 16 연결 성공시간 : 20210721005356  
2021-07-21 00:53:56.965 [INFO ] com.company.handler.---IdleStateHandler [channelActive : 204] | --- ID : 16 | channelActive | --------change ==> 상태0  
2021-07-21 00:53:56.965 [INFO ] com.company.handler.---IdleStateHandler [channelActive : 210] |  --- ID : 16 IP : ***.**.**.*** | ChannelActive -------------------------------------- 
2021-07-21 00:53:56.966 [INFO ] com.company.handler.---IdleStateHandler [channelActive : 213] |  채널값 세팅  ctx.toString : ChannelHandlerContext(---IdleStateHandler, [id: 0xb8800888, L:/***.**.**.*** - R:/***.**.**.***])  | channel.toString : [id: 0xb8800888, L:/***.**.**.*** - R:/***.**.**.***] | channel Hashcode : 1184025189  
2021-07-21 00:53:56.966 [INFO ] com.company.handler.---IdleStateHandler [channelActive : 218] |  --- ID : 16 채널값 세팅  시 ClientForm 사용  
2021-07-21 00:53:56.966 [INFO ] com.company.handler.---IdleStateHandler [channelActive : 223] |  --- ID : 16 | Channel active | send message Context : --------
2021-07-21 00:53:56.967 [INFO ] c.i.network.netty.codec.---TCPEncoder   [encode : 48] | 메시지 준비됨 : 제어기에 대한 요청 메시지로 변환 가능 
2021-07-21 00:53:56.967 [INFO ] c.i.network.netty.codec.---TCPEncoder   [encode : 52] | TARGET --- ID : 16 | OPCODE : 12 | VALUE : 0   
2021-07-21 00:54:00.001 [INFO ] com.company.job.---CheckLastMessageTime [executeInternal : 45] |  --- connection status [ ID : 16 | Last Message Date : 20210721005356 | Now Message Date : 20210721005400 ] 
2021-07-21 00:54:00.001 [INFO ] com.company.job.---CheckLastMessageTime [executeInternal : 58] |  --- connection status [ ID : 16 | nowTime : 1626796440000 | LastMessageTiem : 1626796436000  | diff seconds : 4 ]   
2021-07-21 00:54:00.002 [INFO ] com.company.service.---_------_STATUS   [update : 75] | ------ vo --- ID : 16 | ------ vo --- ----_----_--: PC000032 | ------ vo --- parking STATUS : 만차  
2021-07-21 00:54:00.004 [INFO ] com.company.job.---ToSendPacketJob      [executeInternal : 51] | send to --- the packet Job Start... 

.....


2021-07-21 00:54:56.988 [INFO ] com.company.handler.---IdleStateHandler [channelIdle : 77] |  --- ID : 16 | Active channelIdle | ctx.toString : ChannelHandlerContext(---IdleStateHandler, [id: 0xb8800888, L:/***.**.**.*** - R:/***.**.**.***]) | ctx.channel.toString : [id: 0xb8800888, L:/***.**.**.*** - R:/***.**.**.***]  
2021-07-21 00:54:56.988 [INFO ] com.company.handler.---IdleStateHandler [channelIdle : 83] | --- ID : 16 | channelIdle | IdleStateEvent : READER_IDLE  
2021-07-21 00:54:56.989 [INFO ] com.company.handler.---IdleStateHandler [channelIdle : 88] | Terminate Reader idle channel | 읽기 대기시간 초과 | --- ID : 16 | #Remote[***.**.**.***:ChannelHandlerContext(---IdleStateHandler, [id: 0xb8800888, L:/***.**.**.*** - R:/***.**.**.***])] 
2021-07-21 00:54:56.989 [INFO ] com.company.handler.---IdleStateHandler [channelIdle : 92] | Terminate | --- ID : 16 | Reader idle channel | Reader idle Time : 60  
2021-07-21 00:54:56.989 [INFO ] com.company.handler.---IdleStateHandler [close : 363] |  ---ID : 16 | close | ctx.toString : ChannelHandlerContext(---IdleStateHandler, [id: 0xb8800888, L:/***.**.**.*** - R:/***.**.**.***]) | ctx.channel.toString : [id: 0xb8800888, L:/***.**.**.*** - R:/***.**.**.***]  
2021-07-21 00:54:56.989 [INFO ] com.company.handler.---IdleStateHandler [close : 383] | --- : 16 | UserIdleStateHandler : ChannelClosed - Channel #1184025189 : /***.**.**.*** 
2021-07-21 00:54:56.990 [INFO ] c.i.n.n.listener.CloseFutureListener    [operationComplete : 46] |  --- ID : 16 | 연결 종료 리스너 동작 | awaitUninterruptibly 동작 전 
2021-07-21 00:54:56.990 [INFO ] c.i.n.n.listener.CloseFutureListener    [operationComplete : 48] |  --- ID : 16 | 연결 종료 리스너 동작 | awaitUninterruptibly 동작 후 
2021-07-21 00:54:56.990 [INFO ] c.i.n.n.listener.CloseFutureListener    [StringChannelStatus : 99] | --- ID : 16 | IP : ***.**.**.*** | ChannelFuture isSuccess	: true 
2021-07-21 00:54:56.991 [INFO ] c.i.n.n.listener.CloseFutureListener    [StringChannelStatus : 100] | --- ID : 16 | IP : ***.**.**.*** | ChannelFuture isDone		: true 
2021-07-21 00:54:56.991 [INFO ] c.i.n.n.listener.CloseFutureListener    [StringChannelStatus : 101] | --- ID : 16 | IP : ***.**.**.*** | ChannelFuture isCancelled	: false 
2021-07-21 00:54:56.991 [INFO ] c.i.n.n.listener.CloseFutureListener    [StringChannelStatus : 102] | --- ID : 16 | IP : ***.**.**.*** | ChannelFuture isCancellable: false 
2021-07-21 00:54:56.992 [INFO ] c.i.n.n.listener.CloseFutureListener    [StringChannelStatus : 103] | --- ID : 16 | IP : ***.**.**.*** | ChannelFuture isVoid		: false 
2021-07-21 00:54:56.992 [INFO ] c.i.n.n.listener.CloseFutureListener    [operationComplete : 60] |  --- ID : 16 | channelFuture isSuccess | Reconnect Try 
2021-07-21 00:54:56.993 [INFO ] com.company.handler.---IdleStateHandler [channelInactive : 271] |  --- ID : 16 | channelInactive | ctx.toString : ChannelHandlerContext(---IdleStateHandler, [id: 0xb8800888, L:/***.**.**.*** ! R:/***.**.**.***]) | ctx.channel.toString : [id: 0xb8800888, L:/***.**.**.*** ! R:/***.**.**.***]  
2021-07-21 00:54:56.993 [INFO ] com.company.handler.---IdleStateHandler [channelInactive : 277] |  --- ID : 16 연결 종료 
2021-07-21 00:54:56.993 [INFO ] com.company.handler.---IdleStateHandler [channelInactive : 278] | --- ID : 16 | channelInactive | #Remote[***.**.**.***:1392090695] 
2021-07-21 00:54:56.994 [INFO ] com.company.handler.---IdleStateHandler [channelInactive : 286] | --- ID : 16 | channelInactive | --------change ==> 상태1  
2021-07-21 00:54:56.994 [INFO ] com.company.handler.---IdleStateHandler [channelInactive : 292] |  --- ID : 16 | channelInactive | ---ContStatus.totalUpdate()  
2021-07-21 00:54:56.998 [INFO ] com.company.handler.---IdleStateHandler [channelUnregistered : 446] |   --- ID : 16 | channelUnregistered | ctx.toString : ChannelHandlerContext(---IdleStateHandler, [id: 0xb8800888, L:/***.**.**.*** ! R:/***.**.**.***]) | ctx.channel.toString : [id: 0xb8800888, L:/***.**.**.*** ! R:/***.**.**.***]  
2021-07-21 00:54:56.998 [INFO ] com.company.handler.---IdleStateHandler [channelUnregistered : 454] |  --- ID : 16 | channelUnregistered | CTX.toString : ChannelHandlerContext(---IdleStateHandler, [id: 0xb8800888, L:/***.**.**.*** ! R:/***.**.**.***])  
2021-07-21 00:54:57.994 [INFO ] c.company.network.netty.NettyTCPClient  [call : 152] |  --- ID : 16 | NettyTCPClient | InetSocketAddress Setting | HOST : ***.**.**.*** | PORT : ----  
2021-07-21 00:54:57.994 [INFO ] c.company.network.netty.NettyTCPClient  [call : 171] |  --- ID : 16 | channel is Active : false  
2021-07-21 00:54:57.994 [INFO ] c.company.network.netty.NettyTCPClient  [call : 172] |  --- ID : 16 | channel is Open : true  
2021-07-21 00:54:57.995 [INFO ] c.company.network.netty.NettyTCPClient  [call : 173] |  --- ID : 16 | channel is Writable : true  
2021-07-21 00:54:57.995 [INFO ] c.company.network.netty.NettyTCPClient  [call : 174] |  --- ID : 16 | channel is Registered : true  
2021-07-21 00:54:57.995 [INFO ] c.company.network.netty.NettyTCPClient  [call : 178] |  --- ID : 16 | 채널 열림 
2021-07-21 00:54:57.995 [INFO ] c.company.network.netty.NettyTCPClient  [call : 181] | NettyTCPClient | call() | --- ID : 16 | netty tcp client connectChannelFuture.isDone() : false  
2021-07-21 00:54:57.996 [INFO ] c.company.network.netty.NettyTCPClient  [call : 182] | NettyTCPClient | call() | --- ID : 16 | netty tcp client connectChannelFuture.isSuccess()  : false  
2021-07-21 00:54:57.996 [INFO ] c.company.network.netty.NettyTCPClient  [call : 183] | NettyTCPClient | call() | --- ID : 16 | netty tcp client connectChannelFuture.isCancellable() : false  
2021-07-21 00:54:57.996 [INFO ] com.company.handler.---IdleStateHandler [channelActive : 169] |  --- : 16 | channelActive | ctx.toString : ChannelHandlerContext(---IdleStateHandler, [id: 0x7a7af8e4, L:/***.**.**.*** - R:/***.**.**.***]) | ctx.channel.toString : [id: 0x7a7af8e4, L:/***.**.**.*** - R:/***.**.**.***]  
2021-07-21 00:54:57.996 [INFO ] c.company.network.netty.NettyTCPClient  [call : 184] | NettyTCPClient | call() | --- ID : 16 | netty tcp client connectChannelFuture.isCancelled() : false  
2021-07-21 00:54:57.996 [INFO ] com.company.handler.---IdleStateHandler [channelActive : 182] |  --- ID : 16 연결 성공  
2021-07-21 00:54:57.996 [INFO ] c.company.network.netty.NettyTCPClient  [call : 185] | NettyTCPClient | call() | --- ID : 16 | netty tcp access info : /***.**.**.***  
2021-07-21 00:54:57.997 [INFO ] com.company.handler.---IdleStateHandler [channelActive : 184] |  --- ID : 16 채널 세팅. CTX.toString  
2021-07-21 00:54:57.997 [INFO ] c.company.network.netty.NettyTCPClient  [call : 186] | NettyTCPClient | call() | --- ID : 16 | netty tcp client channel future : [id: 0x7a7af8e4, L:/***.**.**.*** - R:/***.**.**.***]  
2021-07-21 00:54:57.997 [INFO ] c.i.n.n.listener.ConnectFutureListener  [<init> : 36] |  ---_ID : 16 | ConnectFutureListener 생성 
2021-07-21 00:54:57.997 [INFO ] com.company.handler.---IdleStateHandler [channelActive : 197] |  --- ID : 16 연결 성공시간 : 20210721005457  
2021-07-21 00:54:57.997 [INFO ] c.i.n.n.listener.CloseFutureListener    [<init> : 31] |  ---_ID : 16 | CloseFutureListener 생성 
2021-07-21 00:54:57.997 [INFO ] com.company.handler.---IdleStateHandler [channelActive : 204] | --- ID : 16 | channelActive | --------change ==> 상태0  
2021-07-21 00:54:57.998 [INFO ] com.company.handler.---IdleStateHandler [channelActive : 210] |  --- ID : 16 IP : ***.**.**.*** | ChannelActive -------------------------------------- 
2021-07-21 00:54:57.998 [INFO ] com.company.handler.---IdleStateHandler [channelActive : 213] |  채널값 세팅  ctx.toString : ChannelHandlerContext(---IdleStateHandler, [id: 0x7a7af8e4, L:/***.**.**.*** - R:/***.**.**.***])  | channel.toString : [id: 0x7a7af8e4, L:/***.**.**.*** - R:/***.**.**.***] | channel Hashcode : 1456497212  
2021-07-21 00:54:57.999 [INFO ] com.company.handler.---IdleStateHandler [channelActive : 218] |  --- ID : 16 채널값 세팅  시 ClientForm 사용  
2021-07-21 00:54:57.999 [INFO ] com.company.handler.---IdleStateHandler [channelActive : 223] |  --- ID : 16 | Channel active | send message Context : --------
2021-07-21 00:54:58.000 [INFO ] c.i.network.netty.codec.---TCPEncoder   [encode : 48] | 메시지 준비됨 : 제어기에 대한 요청 메시지로 변환 가능 
2021-07-21 00:54:58.000 [INFO ] c.i.network.netty.codec.---TCPEncoder   [encode : 52] | TARGET --- ID : 16 | OPCODE : 12 | VALUE : 0   
2021-07-21 00:54:58.005 [INFO ] c.i.n.n.listener.ConnectFutureListener  [StringChannelStatus : 133] | --- ID : 16 | IP : ***.**.**.*** | ChannelFuture isSuccess	: true 
2021-07-21 00:54:58.005 [INFO ] c.i.n.n.listener.ConnectFutureListener  [StringChannelStatus : 134] | --- ID : 16 | IP : ***.**.**.*** | ChannelFuture isDone		: true 
2021-07-21 00:54:58.005 [INFO ] c.i.n.n.listener.ConnectFutureListener  [StringChannelStatus : 135] | --- ID : 16 | IP : ***.**.**.*** | ChannelFuture isCancelled	: false 
2021-07-21 00:54:58.006 [INFO ] c.i.n.n.listener.ConnectFutureListener  [StringChannelStatus : 136] | --- ID : 16 | IP : ***.**.**.*** | ChannelFuture isCancellable: false 
2021-07-21 00:54:58.006 [INFO ] c.i.n.n.listener.ConnectFutureListener  [StringChannelStatus : 137] | --- ID : 16 | IP : ***.**.**.*** | ChannelFuture isVoid		: false 
2021-07-21 00:54:58.006 [INFO ] c.i.n.n.listener.ConnectFutureListener  [operationComplete : 53] | channel is Active : true 
2021-07-21 00:54:58.006 [INFO ] c.i.n.n.listener.ConnectFutureListener  [operationComplete : 54] | channel is Open : true 
2021-07-21 00:54:58.006 [INFO ] c.i.n.n.listener.ConnectFutureListener  [operationComplete : 55] | channel is Writable : true 
2021-07-21 00:54:58.006 [INFO ] c.i.n.n.listener.ConnectFutureListener  [operationComplete : 56] | channel is Registered : true 
2021-07-21 00:54:58.007 [INFO ] c.i.n.n.listener.ConnectFutureListener  [operationComplete : 58] | --- ID : 16 연결 시도 
2021-07-21 00:54:58.007 [INFO ] c.i.n.n.listener.ConnectFutureListener  [operationComplete : 65] |  --- ID : 16 | channelFuture is not null | channelFuture toString : AbstractBootstrap$PendingRegistrationPromise@9f4f7f9(success)  
2021-07-21 00:54:58.007 [ERROR] c.i.n.n.listener.ConnectFutureListener  [operationComplete : 112] | 접속시 예외처리. 접속 예외 | NullPointerException | Exception Log : java.lang.NullPointerException
	at com.company.util.LogHelper.getPrintStackTrace(LogHelper.java:11)
	at com.company.network.netty.listener.ConnectFutureListener.operationComplete(ConnectFutureListener.java:83)
	at com.company.network.netty.listener.ConnectFutureListener.operationComplete(ConnectFutureListener.java:1)
	at io.netty.util.concurrent.DefaultPromise.notifyListener0(DefaultPromise.java:511)
	at io.netty.util.concurrent.DefaultPromise.notifyListenersNow(DefaultPromise.java:485)
	at io.netty.util.concurrent.DefaultPromise.access$000(DefaultPromise.java:33)
	at io.netty.util.concurrent.DefaultPromise$1.run(DefaultPromise.java:435)
	at io.netty.util.concurrent.AbstractEventExecutor.safeExecute(AbstractEventExecutor.java:163)
	at io.netty.util.concurrent.SingleThreadEventExecutor.runAllTasks(SingleThreadEventExecutor.java:404)
	at io.netty.channel.nio.NioEventLoop.run(NioEventLoop.java:463)
	at io.netty.util.concurrent.SingleThreadEventExecutor$5.run(SingleThreadEventExecutor.java:886)
	at io.netty.util.concurrent.FastThreadLocalRunnable.run(FastThreadLocalRunnable.java:30)
	at java.lang.Thread.run(Thread.java:745)
  
2021-07-21 00:55:00.001 [INFO ] com.company.job.---CheckLastMessageTime [executeInternal : 45] |  --- connection status [ ID : 16 | Last Message Date : 20210721005457 | Now Message Date : 20210721005500 ] 
2021-07-21 00:55:00.002 [INFO ] com.company.job.---CheckLastMessageTime [executeInternal : 58] |  --- connection status [ ID : 16 | nowTime : 1626796500000 | LastMessageTiem : 1626796497000  | diff seconds : 3 ]   
2021-07-21 00:55:00.007 [INFO ] com.company.service.---_------_STATUS   [update : 75] |   vo --- ID : 16 |   vo --- ----_----_--: PC000032 | ----- vo --- parking STATUS : 만차  
2021-07-21 00:55:00.019 [INFO ] com.company.job.---ToSendPacketJob      [executeInternal : 51] | send to --- the packet Job Start... 
2021-07-21 00:55:00.019 [INFO ] com.company.job.---ToSendPacketJob      [executeInternal : 57] | SEND MESSAGE JOB : TO --- [ ID : 16 | Message : ----- | channel : [id: 0x7a7af8e4, L:/***.**.**.*** - R:/***.**.**.***]  ] 
2021-07-21 00:55:00.019 [INFO ] com.company.job.---ToSendPacketJob      [executeInternal : 58] |  channel isActive status : true  
2021-07-21 00:55:00.019 [INFO ] com.company.job.---ToSendPacketJob      [executeInternal : 59] |  channel isOpen status : true  
2021-07-21 00:55:00.020 [INFO ] com.company.job.---ToSendPacketJob      [executeInternal : 60] |  channel isRegistered status : true  
2021-07-21 00:55:00.020 [INFO ] com.company.job.---ToSendPacketJob      [executeInternal : 61] |  channel isWritable status : true  
2021-07-21 00:55:00.021 [INFO ] com.company.job.---ToSendPacketJob      [executeInternal : 84] | send to --- the packet Job Done...

 

 

728x90

댓글