В этом вопросе
Тайм-аут асинхронного запроса Netty Comet
Мне было предложено разделить один экземпляр HashedWheelTimer
между конвейерами.
Мой текущий код выглядит так
@Override
public ChannelPipeline getPipeline() throws Exception {
ChannelPipeline pipeline = Channels.pipeline();
pipeline.addLast("decoder", new HttpRequestDecoder());
pipeline.addLast("encoder", new HttpResponseEncoder());
pipeline.addLast("handler", new HTTPRequestHandler());
Timer timer = new HashedWheelTimer();
pipeline.addLast("timeout", new IdleStateHandler(timer, 30, 30, 0));
return pipeline;
Насколько я понимаю, я делю один экземпляр HashedWheelTimer
между конвейером, но каждый раз создаю новый экземпляр IdleStateHandler
.
Это неправильно? Кто-нибудь может мне помочь, как это сделать правильно? Стоит ли делать экземпляры IdleStateHandler
и HashedWheelTimer
статическими?