ChannelPipeline和ChannelInitializer
所属分类 netty
浏览量 1442
连接建立成功建立一个 Channel , 分配 一个 ChannelPipeline ,这个关联是永久的
Channel 注册到EventLoop 后 , 调用 ChannelInitializer 的 initChannel方法 添加 handler
ChannelPipeline 中 handler 的执行顺序
进站事件,先添加的先执行。
出站事件来说,后添加的先执行。
head 靠近网络端 tail 靠近应用端
入站 从 head 开始处理
出站 从 tail 开始处理
ctx.getPipeline().write()
写入事件从尾端到头部 经过 ChannelPipeline
ctx.write()
消息从下一个ChannelHandler开始传播
Sharable 注解 @Sharable
无状态的 线程安全的 hanlder 可以共享 , 添加到 多个 channel de pipeline
ChannelHandlerAdapter
public boolean isSharable() {
return getClass().isAnnotationPresent(Sharable.class);
}
Return true if the implementation is Sharable and so can be added to different ChannelPipeline s
上一篇
下一篇
netty中的future和promise
netty耗时任务处理
netty4 ChannelInboundHandler 使用
netty ByteBuf 使用
dubbo实例
IO模式 Proactor与Reactor