私はスレッド間の接続を共有しようとしており、スレッドの作成時にのみチャンネルを開いていますが、もう少し調査した後、私も試してみたいと思いますconnection pooling
. rabbitmq でこれを行うにはどうすればよいですか? それとも、これは私が一般的に適用できる一般的なアイデアですか?私の目標は、X スレッドを生成し、新しいチャネルを開く必要がないようにすることです (これには、クライアントとサーバー間のラウンド ロビンの確立が必要です)。
スレッドは独自のクラスであるため、スレッドを生成するクラス自体にプールを配置する必要があるのか 、それともスレッドがどこに移動するのかがわかりません。また、これらの接続を共有したい複数のタイプのスレッドがあります( 1つだけ)。それは可能ですか?
一般的な考え方を示すために、rabbitmq で接続/チャネルを確立する方法を次に示します。
ConnectionFactory factory = new ConnectionFactory();
factory.setHost("localhost");
Connection connection = factory.newConnection();
Channel channel = connection.createChannel(); //I want to share several of these between threads