このモジュールを使用して、node-amqp
rabbitmq サブスクリプションを管理しています。具体的には、各ユーザー/セッションに排他的/プライベート キューを割り当て、REST インターフェイスを介してバインディング メソッドを提供しています。つまり、「キューをこの exchange/routing_key ペアにバインド」し、「キューをこの exchange/routing_key ペアにバインド解除」します。
ここでの課題は、キュー オブジェクトへの参照をメモリ内 (たとえば、モジュール全体のスコープを持つオブジェクト内) に保持しないようにすることです。
必要なたびに接続からキュー自体を取得するだけでは難しいことがわかりました。これは、おそらくamqp 0.9.1 リファレンスからの次の違反を避けるために、キュー オブジェクトがバインディングのタブを内部で保持しているためです。
クライアントは、存在しないキューのバインドを解除しようとしてはなりません。エラーコード: 見つかりません
プロパティでJSON.stringify/JSON.parseを使用するため、connect-mongoを使用して、キューオブジェクトをセッションオブジェクトのプロパティとして単純に設定しようとしました。残念ながら、循環構造のため、キュー オブジェクトは「文字列化」できません。
node-amqp モジュールからキュー オブジェクトを永続化するためのベスト プラクティスは何ですか? シリアライズ/デシリアライズは可能ですか?