キューを自分だけが表示できるようにするには、ApsaraMQ for RabbitMQ が提供する排他キュー機能を使用して、指定したキューを排他として宣言できます。
排他キューとは
排他キューには、次の特性があります。
排他キューは、キューを排他として宣言した最初の接続のチャネルのみが表示できます。
1 つの接続でキューが排他として宣言された後、他の接続で同じ名前の排他キューを宣言することはできず、他の接続のチャネルは排他キューにアクセスできません。
キューの接続が閉じられると、排他キューは自動的に削除されます。
クライアントで
durableパラメーターをtrueに設定して排他キューを永続キューとして宣言した場合でも、キューの接続が閉じられると、キューは削除され、キュー内のデータはクリアされます。
一般的なシナリオ
排他キューは、プロデューサーとコンシューマーが同じプロセスにあり、データ損失の影響を受けにくいシナリオに適しています。
リスク
次のいずれかのシナリオでキューの接続が誤って閉じられた場合、排他キューは削除され、キュー内のデータはクリアされます。
クライアントによる
Close()メソッドの呼び出しブローカーの更新または異常な再起動
接続ハートビートのタイムアウト
スロットリングなどのその他のエラー
排他キューを使用する場合は注意してください。
排他キューを宣言する方法
クライアントプログラムで channel.queueDeclare メソッドを使用し、exclusive パラメーターを true に設定することで、排他キューを宣言できます。
次のサンプルコードは、Java で排他キューを宣言する方法の例を示しています。
/**
* queue: キュー名。
* durable: キューを永続化するかどうかを指定します。
* exclusive: キューが排他的かどうかを指定します。
* autoDelete: キューを自動的に削除するかどうかを指定します。
* arguments: その他のパラメーター。
*/
channel.queueDeclare("queueName", true, true, false, null);