我使用netty 4.0.25Final编写netty HTTP服务器。我需要在管道中添加各种处理程序,具体取决于HTTP GET请求中的一些参数。动态更改netty管道
pipeline.addLast(new HttpRequestDecoder(4096, 8192, 8192, false),
new HttpResponseEncoder(),
new HttpObjectAggregator(1048576),
decisionHandler
);
如果多个请求来自同一连接,则使用相同的管道。 Request1可能需要Handler1,Request2可能需要Handler2,Request3可能需要Handler3。假设请求来自请求1,请求2,请求3。 Request1会修改管道以添加Handler1。
在随后的调用中,我们总是需要检查pipleline是否已经被修改,然后删除不需要的处理程序?然后添加处理该特定呼叫所需的处理程序?
或者我应该在去下一个处理程序(fireChannelRead(object))之前删除处理程序?它会对性能产生影响吗?
有没有其他方法可以做到这一点?
感谢&问候,
Tanima