在ChannelHandler的channelRead()方法中應當盡快釋放handler以讓當前的NIO線程盡快處理下一個請求,那么channelRead()應當只進行數據的解碼處理,然后將解碼后的數據“發送”給業務邏輯類進行處理。那么問題是,業務邏輯代碼應該放在哪里:1. 使用JDK自帶的線程池,在channelRead()方法中調用pool.submit()提交任務2. 使用 ctx.executor().submit() 方法提交任務還有一個問題,當業務方法完成處理后需要返回HTTP響應,但是Netty不能在非NIO線程中使用ChannelHandlerContext, 那么業務方法如何將結果返回給NIO線程從而向客戶端返回響應呢?
添加回答
舉報
0/150
提交
取消
