【发布时间】:2014-03-04 16:26:57
【问题描述】:
我正在使用node-amqp 模块来管理rabbitmq 订阅。具体来说,我为每个用户/会话分配了一个独占/私有队列,并通过 REST 接口提供绑定方法。 IE。 “将我的队列绑定到这个 exchange/routing_key 对”,以及“取消绑定我的队列到这个 exchange/routing_key 对”。
这里的挑战是避免在内存中保留对队列对象的引用(例如,在具有模块范围的对象中)。
每次我需要时从连接中简单地检索队列本身是很困难的,因为队列对象在内部保持绑定标签,可能是为了避免违反the amqp 0.9.1 reference 中的以下内容:
客户端不得尝试解除绑定不存在的队列。错误代码:未找到
我尝试使用 connect-mongo 将队列对象简单地设置为会话对象的属性,因为它在其属性上使用 JSON.stringify/JSON.parse。不幸的是,由于循环结构,队列对象无法“字符串化”。
从 node-amqp 模块持久化队列对象的最佳实践是什么?是否可以序列化/反序列化?
【问题讨论】:
标签: node.js persistence json-deserialization node-amqp