问题标签 [langohr]

For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.

0 投票
1 回答
1077 浏览

clojure - RabbitMQ 延迟消息交换声明在 langohr clojure 客户端中失败

我正在尝试按照本文档中的说明配置 RabbitMQ 延迟消息交换:https ://github.com/rabbitmq/rabbitmq-delayed-message-exchange/

下面是我尝试将 README 中的代码示例翻译成 clojure/langohr。

可悲的是,当我运行它时,我收到此错误:

查看 rabbit_exchange_type_delayed_message 插件的源代码,我可以看到我{"x-delayed-type" "direct"}的 case 语句中的默认处理程序似乎落空了。

https://github.com/rabbitmq/rabbitmq-delayed-message-exchange/blob/543efef2555338c46f776a89df3ee134066221e2/src/rabbit_exchange_type_delayed_message.erl#L72

我不知道为什么会发生这种情况,或者如何解决它。

0 投票
1 回答
29 浏览

rabbitmq - 关于 RabbitMQ 通道的最佳实践

使用 RabbitMQ 及其通道模型时,我应该多久关闭一次通道?

例如,最好的做法是

  • 在它打开的方法结束时关闭通道?
  • 在不同方法之间全局重用通道?

在旁注中:我通过 Langohr 库在 Clojure 中使用 RabbitMQ,因此更喜欢没有任何全局状态,这促使我在相关消息的开头声明通道,然后在结尾再次关闭它们。我只是不确定这是否是有意的。