私は ActiveMQ の初心者なので、いくつか質問があります... サーバー側で activemq を使用するクライアント サーバー アプリケーションを作成します。すべてのクライアントがメッセージを送信するため、サーバーにはすべてのクライアントからメッセージを受信する単一のキューがあります。私が理解しているように、それは問題ではありません。
しかし、別のことがあります... メッセージを受信した後、サーバーはそれを処理し、受信メッセージごとに応答メッセージを形成します。このメッセージは、送信者だけでなく、すべてのクライアントに配信する必要があります。また、現時点で一部のクライアントへの接続がない場合、接続が回復したときに、クライアントは、このクライアントがオフラインであった間にサーバーが送信したすべてのメッセージを (損失なしで) 受信する必要があります。
ActiveMQ の学習を開始すると、解決策が見つかりました。サーバーには特定の数の「出力キュー」があり、この数はクライアントの数と同じです。そのため、回答を作成した後、サーバー アプリケーションはすべての「出力キュー」を通過し、メッセージを各キューに入れます。このバリアントでは、各クライアントは一意の ID を持ち、独自のキュー (すべての応答メッセージを含む) をリッスンするため、サーバーでは、各クライアントが受信したメッセージの数を監視できます (有利です)。しかし、それは最善の解決策ではないと思います(キュー内の同一のオブジェクトが多数あり、サーバー側で各クライアントを手動で追加することは欠点です)。
activemq について詳しく学ぶと、トピックと永続的なサブスクライバーが見つかりました。問題の説明に必要なもののように見えます。しかし今、私の質問は - どうすればトピックメッセージを監視できますか? ブラウザの管理者ツールや jconsole でも見ようとしましたが、まだこのメッセージは表示されません。出来ますか?今後の質問はありますか?トピックを使用することは、この問題に適していますか? または、私が説明したように、特定の数の出力キューを使用する方がよいでしょうか?