JBoss Netty y UDP: ¿multiproceso?

He escrito un servidor UDP simple usando Netty. El servidor escucha en un puerto en una determinada interfaz.

ChannelFactory factory =
            new NioDatagramChannelFactory(
                    Executors.newCachedThreadPool());

ConnectionlessBootstrap bootstrap = new ConnectionlessBootstrap(factory);

bootstrap.getPipeline().addLast("MyHandler", new TestHandler());

bootstrap.bind(new InetSocketAddress(InetAddress.getByName("192.168.1.100"), 8080));

Yo uso un cliente que envía muchos datagramas UDP al servidor. Cuando perfilo mi aplicación con VisualVM, veo que solo hay un hilo (llamado New I / O worker # 1) que procesa los mensajes entrantes. ¿Es como se esperaba?

En caso afirmativo, ¿cómo un solo hilo puede manejar una gran cantidad de mensajes entrantes? Ya he escrito una aplicación con integración Spring que escucha en un puerto para datagramas UDP (usando un adaptador de canal entrante UDP), y hay un hilo que escucha en el puerto pero este hilo pasa los mensajes entrantes para su procesamiento a otros hilos de una piscina.

Gracias

Respuesta 1

¿Cuántos núcleos tienes en tu máquina?

Si la línea de tubería de su manejador no bloquea ni procesa demasiado, es muy probable que el procesamiento de E / S siempre sea mucho más rápido que la red, es decir, el hilo de E / S estará inactivo y esperará una fracción bastante grande del trabajo. de su tiempo No es necesario asignar otro subproceso del grupo.

Si, por otro lado, su controlador implica un procesamiento prolongado o bloqueo de llamadas, por ejemplo, acceso a la base de datos o al archivo, debe transferir el procesamiento a un ExecutionHandler, que transfiere el procesamiento desde el grupo de trabajo IO a otro grupo de subprocesos.

Respuesta: 2

Necesito poder editar un objeto Pageable, más específicamente uno de los Sorts. Tengo un miembro de DTO que tiene una dirección de correo electrónico de propiedad. Desconocido para el cliente, esta es la información que se recopila ...

Mi problema es que JScrollPane no muestra una JTable dentro de ella. Cuando inicializo una tabla sin JScrollPane, todo funciona perfectamente. ¿Cómo hacer que JScrollPane no oculte JTable? vacío privado ...

¿Alguien puede averiguar por qué mi JScrollPane no funciona? Quizás algo que me haya perdido. Me doy cuenta de que esto podría ser una tontería sin más contexto del que he mostrado, pero por favor pregunte y estaré ...

Estoy creando una aplicación muy simple para que pueda entender slf4j, unir bibliotecas, implementar implementaciones de registro, etc. Mi aplicación se basa en el slf4j que usa logback para el registro ...