我使用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