Hej,
Mam pytanie o serwer pisany w netty
Bootstrap bootstrap = new Bootstrap()
.group(bossGroup)
.channel(NioDatagramChannel.class)
.handler(new ChannelInitializer<DatagramChannel>() {
@Override
protected void initChannel(DatagramChannel ch) throws Exception {
ch.pipeline()
.addLast(workerGroup, "handler", new ServerHandler(workerGroup));
}
});
System.out.println(Util.msg("Bootstrapping done"));
ChannelFuture channelFuture = bootstrap.bind(PORT).syncUninterruptibly();
System.out.println(Util.msg("Bound"));
channelFuture.channel().closeFuture().addListener(new ChannelFutureListener() {
@Override
public void operationComplete(ChannelFuture future) throws Exception {
System.out.println(Util.msg("Server closing"));
future.channel().close();
}
}).sync();
Util.msg pisze wiadomość + wątek wykonujacy (taki ubogi logger).
Pytanie jest takie: dlaczego w netty4 nie można osiągnąć wykonania handlera przez różne wątki z pooli worker?
Zawsze używany jest tylko jeden... Oczywiście w handlerze można po prostu oddelegować wykonanie do jakiegoś executora ale nie o to przecież chodzi...
Czy ktoś jest obeznany z netty 4 (wiem ze w poprzednich wersjach był OrderedMemoryCostamExecutor i dało się to osiągnąć) i wie czemu teraz tak niedorzecnie to spieprzono?