我需要修改工厂外的渠道管道。
ChannelPipelineFactory factory = new ChannelPipelineFactory() {
@Override
public ChannelPipeline getPipeline() throws Exception {
ChannelPipeline pipeline = pipeline();
pipeline.addLast("decoder", new StringDecoder());
pipeline.addLast("encoder", new StringEncoder());
return pipeline;
}
};
在创建新频道时调用工厂getPipeline()。
当我在此频道上发送消息时,我会致电
channel.getPipeline().addLast("id",handler);
但是在几毫秒后,一条消息到达同一个频道,我调用了channel.getPipeline()。get(“id”),这给出了一个空值。有没有办法告诉netty管道是否被修改,或者我不应该在工厂外调用addLast?
谢谢, 利恩