我正在使用node-amqp模块来管理rabbitmq订阅。具体来说,我正在为每个用户/会话分配一个独占/私有队列,并通过REST接口提供绑定方法。例如,“将队列绑定到此exchange/routing_key对”和“将队列解除到此exchange/routing_key对”。
这里的挑战是避免将对队列对象的引用保存在内存中(例如,在具有模块范围的对象中)。
每次我需要连接时,简单地从连接中检索队列本身是很困难的,因为队列对象在内部保持对绑定的监视,这可能是为了避免违反amqp 0.9.1参考文献中的以下内容
客户端不能试图解除不存在的队列。错误代码:找不到
我试图简单地将queue对象设置为会话对象上的一个属性,因为它对其属性使用了JSON.strgify/JSON.Analysis。不幸的是,由于循环结构,队列对象无法“字符串化”。
从节点-amqp模块持久化队列对象的最佳实践是什么?是否可以序列化/反序列化?
发布于 2014-03-10 06:33:26
我不会尝试存储queue对象,而不是使用您可以存储的队列的唯一名称。之后,每当您想在队列上进行操作时,您有两个选项:
我还使用REST接口来管理rabbitMQ。我的连接对象维护所有队列、通道等.因此,仅在第一次尝试使用调用connection.queue的队列时,下面的请求只是通过connection.queues检索队列。
https://stackoverflow.com/questions/22177459
复制相似问题