如何使用 Paramore Brighter 确保以交付模式 "persistent" 发送 Rabbit MQ 消息

How to make sure Rabbit MQ messages are sent with delivery mode "persistent" with Paramore Brighter

我正在使用 Paramore Brighter.Net 来使用 Rabbit Message Queue。我想将消息的传递模式设置为"persistent"。我没有在 brighter 命名空间中得到任何可以在内部设置 rabbit mq 传递模式的 属性。

RMQMessageGateway class 有 IModel 参考,它内部有 CreateBasicProperties 方法,我可以用它来设置传递模式 属性。但是 属性 的访问说明符是受保护的,我无法设置它。请帮忙.

您可以克隆他们的代码并从他们的 license model is MIT 开始对其进行修改。 Channel 实际上是在 ConnectToBroker 方法中设置的,因此您可以在那里进行更改。

如果你不想修改他们的代码,你可以从RMQMessageGatewayoverrideConnectToBroker派生出一个新的class。然后在那里执行任何 post 操作,例如设置交付模式。