c# - 如何确保使用 Paramore Brighter 以“持久”传递模式发送 Rabbit MQ 消息
问题描述
我正在使用 Paramore Brighter.Net 来使用 Rabbit 消息队列。我想将消息的传递模式设置为“持久”。我没有在更亮的命名空间中获得任何可以在内部设置 rabbit mq 交付模式的属性。
RMQMessageGateway 类有 IModel 引用,它内部有 CreateBasicProperties 方法,我可以用它来设置传递模式属性。但是该属性的访问说明符受到保护,我无法设置它。请帮助。
解决方案
您可以克隆他们的代码并对其进行修改,因为他们的许可模型是MIT。 Channel
实际上是在ConnectToBroker
方法内部设置的,因此您可以在那里进行更改。
如果你不想修改他们的代码,你可以从RMQMessageGateway
and派生一个新类override
ConnectToBroker
。然后在那里执行任何发布操作,例如设置交付模式。
推荐阅读
- java - mvn appengine:stage - 标准环境 - 自动 app.yaml 来自哪里?
- django - 根据 django 中的用户类型重定向到不同页面的登录注册
- sequelize.js - 如何在sequelize中使用多个$or
- java - 我们如何修复导入项目时出现的 spring 配置检查弹出窗口?
- sql - 通过 SQL 在 noSQL 类型文档上从父属性名称创建新属性
- ios - 如何在 Xcode (Swift) 中编码 UI 对象?
- c++ - 将字节向量转换为浮点向量
- android - 重复的 jar 条目
- swift - SQLite.swift:由于无法识别的令牌而无法检索表计数:“:”
- xamarin.forms - 如何更改 Xamarin Forms Shell 中的弹出背景颜色?