Nettyを使用して単純なUDPサーバーを作成しました。サーバーは、特定のインターフェイスの1つのポートでリッスンします。
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));
大量のUDPデータグラムをサーバーに送信するクライアントを使用しています。VisualVMを使用してアプリのプロファイルを作成すると、着信メッセージを処理するスレッドが1つ(New I / Oワーカー#1という名前)しかないことがわかります。期待通りですか?
はいの場合、単一のスレッドで大量の着信メッセージを処理するにはどうすればよいですか?(UDPインバウンドチャネルアダプターを使用して)UDPデータグラムをポートでリッスンするSpring統合を使用したアプリケーションを既に作成しました。ポートでリッスンするスレッドが1つありますが、このスレッドは受信メッセージを他のスレッドに処理するために渡します。プール。
ありがとう