最近遇到一个关于netty的问题,先来看问题
使用netty发送消息,功能正常,但是每次发送会有类似如下警告信息
警告: The pipeline contains no upstream handlers; discarding: [id: 0x00807c88] OPEN
2015-9-6 15:39:12 org.jboss.netty.channel.DefaultChannelPipeline
警告: The pipeline contains no upstream handlers; discarding: [id: 0x00807c88, /10.100.17.38:64293 => /10.101.22.108:40018] BOUND: /10.100.17.38:64293
2015-9-6 15:39:12 org.jboss.netty.channel.DefaultChannelPipeline
警告: The pipeline contains no upstream handlers; discarding: [id: 0x00807c88, /10.100.17.38:64293 => /10.101.22.108:40018] CONNECTED: /10.101.22.108:40018
2015-9-6 15:39:12 org.jboss.netty.channel.DefaultChannelPipeline
警告: The pipeline contains no upstream handlers; discarding: [id: 0x00807c88, /10.100.17.38:64293 => /10.101.22.108:40018] WRITTEN_AMOUNT: 365
2015-9-6 15:40:41 org.jboss.netty.channel.DefaultChannelPipeline
警告: The pipeline contains no upstream handlers; discarding: [id: 0x00807c88, /10.100.17.38:64293 => /10.101.22.108:40018] WRITTEN_AMOUNT: 364
虽然不影响功能,但是会造成大量的日志,按照公司的业务量,一天差不多3个G,运维要打人了。。
从错误信息看,是说发送之前,缺少upstreamHandler,因为是直接发送,所以没有添加handler,但是这个警告有点儿太恶心人了。。
为了不让他警告,只能做如下处理,在bootsrap进行connect之前,设置一个handler进去
bootstrap.setPipeline(Channels.pipeline(new ChannelUpstreamHandler(){
@Override
public void handleUpstream(ChannelHandlerContext ctx,
ChannelEvent e) throws Exception {
//DO NOTHING,防止警告,增加系统日志负担
}
}));
我是为了不让他警告,有需求的同学可以自行替换handler,只要有类似这么个handler,就不会有警告;
问题解决,没有贴出全部代码,不过应该解释清楚了,不清楚的,可以联系我
虽然解决了问题,但是感觉应该还有别的解决方式,之前考虑的思路是通过修改log4j的配置文件来达到不输出警告的目的,这个警告是netty内部的,调用的logger.warn,感觉应该是可以通过这种方式实现的,但是始终没有尝试成功,要是哪位仁兄解决了,请赐教
相关推荐
在Netty中,Pipeline(管道)是其核心设计之一,它承担着数据处理的重要职责,实现了异步串行无锁化的编程模型。 1. Pipeline 设计原理 Pipeline 是 Netty 中数据传输的主干道,它负责接收、处理和转发进出 ...
在本文中,我们将深入探讨Netty中的关键概念,尤其是Pipeline(管道)的顺序及其工作原理。 首先,让我们理解Netty的核心组件:Server和Client。在Netty中,服务器端通常被称为BossGroup和WorkerGroup,BossGroup...
Maven坐标:io.netty:netty-resolver-dns:4.1.65.Final; 标签:netty、resolver、dns、中英对照文档、jar包、java; 使用方法:解压翻译后的API文档,用浏览器打开“index.html”文件,即可纵览文档内容。 人性化...
Maven坐标:io.netty:netty-codec-dns:4.1.65.Final; 标签:netty、codec、dns、中英对照文档、jar包、java; 使用方法:解压翻译后的API文档,用浏览器打开“index.html”文件,即可纵览文档内容。 人性化翻译,...
Netty 入门与实战:仿写微信 IM 即时通讯系统,掘金小册子,netty教程。章节齐全无缺失,排版非常不错。 1.仿微信IM系统简介 1 2.Netty是什么? 2 3.服务端启动流程 8 4.客户端启动流程 11 5.实战:客户端与服务端双向...
《跟闪电侠学Netty:Netty即时聊天实战与底层原理》是一本深入浅出的Netty技术指南,旨在帮助读者掌握Netty框架,并利用它实现即时聊天应用,同时理解其底层工作原理。Netty是Java领域的一款高性能、异步事件驱动的...
《Netty进阶之路:跟着案例学Netty》中的案例涵盖了Netty的启动和停止、内存、并发多线程、性能、可靠性、安全等方面,囊括了Netty绝大多数常用的功能及容易让人犯错的地方。在案例的分析过程中,还穿插讲解了Netty...
Maven坐标:io.netty:netty-resolver-dns:4.1.68.Final; 标签:netty、resolver、dns、中文文档、jar包、java; 使用方法:解压翻译后的API文档,用浏览器打开“index.html”文件,即可纵览文档内容。 人性化翻译,...
本jar包为最新的netty-all-4.1.29c.jar 可导入直接用 Netty 是一个利用 Java 的高级网络的能力,隐藏其背后的复杂性而提供一个易于使用的 API 的客户端/服务器框架。 Netty 是一个广泛使用的 Java 网络编程框架...
Netty是一个高性能、异步事件驱动的网络应用框架,用于快速开发可维护的高性能协议服务器和客户端。在Java世界中,Netty因其易用性、灵活性以及强大的性能而备受推崇,广泛应用于各种分布式系统、微服务架构以及高...
Maven坐标:io.netty:netty-codec-haproxy:4.1.74.Final; 标签:netty、codec、haproxy、中文文档、jar包、java; 使用方法:解压翻译后的API文档,用浏览器打开“index.html”文件,即可纵览文档内容。 人性化翻译...
《Netty进阶之路-跟着案例学Netty》是由知名技术专家李林峰撰写的一本专为Java开发者深入理解Netty框架而准备的书籍。这本书旨在通过实例教学,帮助读者全面掌握Netty的核心特性和实战技巧,提升网络编程的能力。 ...
### Netty 入门与实战:仿写微信 IM 即时通讯系统 #### 一、引言 随着移动互联网技术的飞速发展,即时通讯(IM)应用已成为人们日常生活中不可或缺的一部分。微信作为中国最成功的即时通讯软件之一,其背后的架构和...
Maven坐标:io.netty:netty-codec-http:4.1.27.Final; 标签:netty、codec、http、中英对照文档、jar包、java; 使用方法:解压翻译后的API文档,用浏览器打开“index.html”文件,即可纵览文档内容。 人性化翻译,...
Maven坐标:io.netty:netty-all:4.1.68.Final; 标签:netty、all、中文文档、jar包、java; 使用方法:解压翻译后的API文档,用浏览器打开“index.html”文件,即可纵览文档内容。 人性化翻译,文档中的代码和结构...
Netty 是一个高性能、异步事件驱动的网络应用程序框架,用于快速开发可维护的高性能协议服务器和客户端。在深入探讨Netty的知识点之前,我们先简单理解一下标题和描述所暗示的信息。 标题 "netty-netty-4.1.32....
6. **Pipeline与ChannelHandler的运用**:深入理解Netty的事件处理模型,合理配置处理链。 7. **心跳机制的设计**:确保长连接的有效性,防止连接断开导致的消息丢失。 #### 七、客户端程序逻辑结构 客户端程序...
Maven坐标:io.netty:netty-codec:4.1.65.Final; 标签:netty、codec、中英对照文档、jar包、java; 使用方法:解压翻译后的API文档,用浏览器打开“index.html”文件,即可纵览文档内容。 人性化翻译,文档中的...
netty服务器通讯说明: 服务器条件NETTY框架编程: 服务器IP:192.168.2.106 端口8810 数据传输的方式:从串口接收到一条完整的协议数据,计算出数据字节长度,打包成HtAlingProtocol类,并发送给服务器; package ...
这个“netty官网学习手册中文版”针对的是Netty的3.1版本,虽然现在的Netty已经发展到了5.x版本,但3.1版本的知识仍然具有历史参考价值,特别是对于那些初次接触或需要理解Netty基础概念的开发者来说。 1. **Netty...