代码拉取完成,页面将自动刷新
开启DEBUG日志发现每隔 15秒会出现这个日志,是不是心跳没做处理:
14:16:33.975 DEBUG [rker-3-thread-1] io.netty.channel.DefaultChannelPipeline .onUnhandledInboundMessage(DefaultChannelPipeline.java:1182) : Discarded inbound message com.alipay.remoting.rpc.HeartbeatAckCommand@664a9337 that reached at the tail of the pipeline. Please check your pipeline configuration.
14:16:33.975 DEBUG [rker-3-thread-1] io.netty.channel.DefaultChannelPipeline .onUnhandledInboundMessage(DefaultChannelPipeline.java:1198) : Discarded message pipeline : [decoder, encoder, idleStateHandler, heartbeatHandler, connectionEventHandler, handler, DefaultChannelPipeline$TailContext#0]. Channel : [id: 0x1e7c2170, L:/192.168.0.165:44294 - R:/192.168.0.165:20200].
14:16:48.977 DEBUG [rker-3-thread-1] io.netty.channel.DefaultChannelPipeline .onUnhandledInboundMessage(DefaultChannelPipeline.java:1182) : Discarded inbound message com.alipay.remoting.rpc.HeartbeatAckCommand@83744f0 that reached at the tail of the pipeline. Please check your pipeline configuration.
14:16:48.978 DEBUG [rker-3-thread-1] io.netty.channel.DefaultChannelPipeline .onUnhandledInboundMessage(DefaultChannelPipeline.java:1198) : Discarded message pipeline : [decoder, encoder, idleStateHandler, heartbeatHandler, connectionEventHandler, handler, DefaultChannelPipeline$TailContext#0]. Channel : [id: 0x1e7c2170, L:/192.168.0.165:44294 - R:/192.168.0.165:20200].
14:17:03.989 DEBUG [rker-3-thread-1] io.netty.channel.DefaultChannelPipeline .onUnhandledInboundMessage(DefaultChannelPipeline.java:1182) : Discarded inbound message com.alipay.remoting.rpc.HeartbeatAckCommand@7da96f17 that reached at the tail of the pipeline. Please check your pipeline configuration.
14:17:03.990 DEBUG [rker-3-thread-1] io.netty.channel.DefaultChannelPipeline .onUnhandledInboundMessage(DefaultChannelPipeline.java:1198) : Discarded message pipeline : [decoder, encoder, idleStateHandler, heartbeatHandler, connectionEventHandler, handler, DefaultChannelPipeline$TailContext#0]. Channel : [id: 0x1e7c2170, L:/192.168.0.165:44294 - R:/192.168.0.165:20200].
也就是最终是 TailContext 负责释放未处理消息:
// io.netty.channel.DefaultChannelPipeline#onUnhandledInboundMessage(java.lang.Object)
protected void onUnhandledInboundMessage(Object msg) {
try {
logger.debug(
"Discarded inbound message {} that reached at the tail of the pipeline. " +
"Please check your pipeline configuration.", msg);
} finally {
ReferenceCountUtil.release(msg);
}
}
// io.netty.util.ReferenceCountUtil#release(java.lang.Object)
public static boolean release(Object msg) {
if (msg instanceof ReferenceCounted) {
return ((ReferenceCounted) msg).release();
}
return false;
}