我有一段代碼來檢查,如果該ChannelHandlerContext WriteandFlush成功的Netty的ChannelFuture性能
logger.debug("Writing '" + message + "' to channel now");
ctx.writeAndFlush(message.getMessage());
ChannelFutureListener cfl = new ChannelFutureListener() {
@Override
public void operationComplete(ChannelFuture future) throws Exception {
if (future.isSuccess()) {
// Message was successfully sent
logger.debug("Message '" + message + "' sent successfully");
我的問題是該operationComplete被(以確保消息已被髮送下一個消息之前發送成功) writeandflush之後花費了一秒多的時間,這會導致我的服務器性能下降。 有人知道爲什麼這麼長時間?
最好的做法是在繼續之前檢查writeandflush的成功嗎?