Netty 处理程序不是每次调用的实例化器

Netty handler is not instantiater for every call

我对新的 Handler() 实现有疑问。我在处理程序中有一个 class 成员,它是用随机 UUID 初始化的。我看数据的时候,有多个相同UUID的请求。

public class HttpServerInitializer extends ChannelInitializer<SocketChannel> {
   @Override
   public void initChannel(SocketChannel ch) throws Exception {
       .....
       p.addLast("httprequest", new HttpServerHandler(config));
   }
}

HttpServerHandler

private String uuid;

public HttpServerHandler(final StaticConfig staticConfig) {

    this.uuid = UUID.randomUUID().toString();

}

这个 uuid 并不是每次调用都是唯一的。

相反,如果我将 random_uuid 添加到 attr ,它工作正常。

所以,我确实有办法解决这个问题。问题是这与我对如何创建处理程序的理解相冲突。

initChannel(...) 为每个新连接调用。因此,如果您通过同一连接发送多个请求,您将看到一次