Netty 内蒂:我能给管道和通道中的静态空闲状态处理程序一个未来的监听器吗

Netty 内蒂:我能给管道和通道中的静态空闲状态处理程序一个未来的监听器吗,netty,Netty,在通道初始化器中 protected void initChannel(SocketChannel ch) throws Exception { MessageHandler handler = new MessageHandler(channelGroup); ch.pipeline().addLast(DECODER, new MessageDecoder()) .addLast(ENCODER, newMessageEncod

在通道初始化器中

protected void initChannel(SocketChannel ch) throws Exception {
        MessageHandler handler = new MessageHandler(channelGroup);
        ch.pipeline().addLast(DECODER, new MessageDecoder())
                .addLast(ENCODER, newMessageEncoder())
                .addLast(idleExecutor, "idleHandler", new IdleStateHandler(0, 0, 6*60))
                .addLast(pipelineExecutor, "handler", handler);
    }
在上面的代码段中,当通道初始化时,我可以使用IdleStateHandler的静态对象,而不是为每个通道使用新实例。它是线程安全的吗

而且

当我给频道写东西的时候。 我向它添加了一个空闲读取处理程序,这样,如果我在某个时间内没有得到响应,我就会关闭通道

     ChannelPipeline pipeline = channel.pipeline();
      pipeline.addAfter(ChannelInitializer.idleExecutor, 
"idleHandler", "idleReadHandler",new IdleStateHandler(60, 0, 0));
我可以在上面的代码中使用静态idleReadHandler吗

我正在使用Netty-4.1.0

在netty 3.x之前,它在jboss文档中被标记为可共享
但是在netty的4.x文档中没有看到,确定处理程序是否可以在多个通道之间以线程安全方式使用的规则是注释。由于
IdleStateHandler
没有使用注释进行注释,这意味着它不能安全使用。

它是,但它不在4.x文档中。所以它是故意的还是只是偶然错过的?它不能被共享,所以你需要创建一个新的实例,正如Ferrybig所说。