Rabbitmq 新的Rebus和插件中缺少方法
我已将项目中用于消息传递的这些库更新为最新版本:Rabbitmq 新的Rebus和插件中缺少方法,rabbitmq,log4net,castle-windsor,rebus,Rabbitmq,Log4net,Castle Windsor,Rebus,我已将项目中用于消息传递的这些库更新为最新版本: 反驳 兔眼草 温莎城堡酒店 Rebus.Log4Net 温莎城堡 当我发现这个版本中缺少一些非常方便的旧方法时,我感到非常困惑 我有以下REBS配置api: Configure.With(new WindsorContainerAdapter(container)) .Logging(l => l.Log4Net()) .Transport(t => t.UseRabbitMqAndGetInpu
- 反驳
- 兔眼草
- 温莎城堡酒店
- Rebus.Log4Net
- 温莎城堡
Configure.With(new WindsorContainerAdapter(container))
.Logging(l => l.Log4Net())
.Transport(t => t.UseRabbitMqAndGetInputQueueNameFromAppConfig(connectionString)
.ManageSubscriptions().SetPrefetchCount(5))
.MessageOwnership(d => d.FromRebusConfigurationSection())
.Serialization(s => s.Use(new MySerializer()))
.CreateBus()
.Start();
新版本中缺少以下方法:
- UseRabbitMqAndGetInputQueueNameFromAppConfig
- RabbitMqOptionsBuilder中的管理订阅
- 重新配置器中的消息所有权
- Log4Net扩展方法存在于库中,甚至不被VS识别
用旧的方便方法做了什么?有没有人遇到过同样的问题,可以给我一个提示,在当前版本(0.99.67)中使用什么API来配置客户端的现有方式。0.84.0之前(包括0.84.0)的Rebus版本是“Rebus 1”-Rebus在0.90.0版本“Rebus 2”中收到了相当大的更新(重写了核心,然后移植了大多数libs转发) 因此,您最好的选择可能是
更新包Rebus-Version 0.84.0
(并对RabbitMQ、Windsor和Log4net集成包执行相同的操作)
Rebus 2与Rebus 1不兼容,因此如果您决定更新为2,您应该注意这一点
此外(正如您所发现的),它已经看到了一些API更改,其中最重要的更改是
IBus
上的大多数方法现在是async
,因此要求您例如Wait bus.Send(…)
(或者bus.Send(…).Wait()
如果您不在async
方法中)您最好的选择可能是感谢您的回答。我不太熟悉Rebus和消息传递。您能给我一个提示,在哪里阅读关于我应该使用什么以及如何使用旧方法的内容吗?是否仍然可以在新的Rebus中使用某些内容而不是UseRabbitMqAndGetInputQueueNameFromAppConfig?要从Rebus配置中读取队列名称,我应该使用什么来代替ManageSubscriptions和MessageOwnery(d=>d.fromsconfigurationsection()肯定是-在这里查看:Hi@TakinosaJi-如果您对答案感到满意,请您将问题标记为已回答好吗?