diff --git a/src/org/redkale/net/Response.java b/src/org/redkale/net/Response.java index 9439f80bf..28d7715c4 100644 --- a/src/org/redkale/net/Response.java +++ b/src/org/redkale/net/Response.java @@ -251,11 +251,15 @@ public abstract class Response> { } this.recycleListener = null; } - if (request.keepAlive && channel != null && channel.isOpen()) { - AsyncConnection conn = removeChannel(); - this.recycle(); - this.prepare(); - new PrepareRunner(context, conn, null, this).run(); + if (request.keepAlive && channel != null) { + if (channel.isOpen()) { + AsyncConnection conn = removeChannel(); + this.recycle(); + this.prepare(); + new PrepareRunner(context, conn, null, this).run(); + } else { + channel.dispose(); + } } else { this.context.responsePool.accept(this); }