вот мой ChannelInitializer
ch.pipeline().addLast("httpServerCodec", new HttpServerCodec());
ch.pipeline().addLast(new HttpObjectAggregator(65536));
ch.pipeline().addLast(new ChunkedWriteHandler());
ch.pipeline().addLast(business, new HttpSnoopServerHandler());
следующий код HttpSnoopServerHandler
public class HttpSnoopServerHandler extends SimpleChannelInboundHandler<Object> {
private HttpRequest request;
/** Buffer that stores the response content */
private final StringBuilder buf = new StringBuilder();
@Override
protected void channelRead0(ChannelHandlerContext ctx, Object msg) {
// ignore process body
buf.append("{\"key1\":[\"value1\"],\"key2\":\"value2\"}");
// Write the response.
ctx.writeAndFlush(response);
}
при первом запросе сервер отвечает мне
// 20200428163637
// http://localhost:8080/
{
"key1": [
"value1"
],
"key2": "value2"
}
и запрос дважды, он отвечает мне
{"key1":["value1"],"key2":"value2"}{"key1":["value1"],"key2":"value2"}{"key1":["value1"],"key2":"value2"}
и т. д.
мой вопрос заключается в том, что сервер обработает новый обработчик () для обработки запроса. почему обработчик не сбрасывает переменную-член