Rebus中Pub / Sub +消息标签中的事务范围

时间:2016-10-25 16:28:04

标签: rebus

目前我使用WCF作为服务总线。但我想切换到更强大的服务总线。我选择了Rebus。 我对Rebus不知何故。我有一些问题:

1)我的数据保存在数据库表中。我希望发布者每n秒读取所有持久化数据并将其发布给订阅者,然后在DB中为数据设置发送标志。 是否有一些发布的时机? 读取和发布以及更改(设置标志)数据必须在事务范围内完成。 Rebus中是否有任何已定义的解决方案?

2)在Consumer中,我想在一些表中保存已发布的数据。从消息队列中读取消息并保存在DB(在我的处理程序中)必须在事务范围内完成。 Rebus如何做到这一点?

3)已发布消息的消息标签设置为随机唯一字符串。我想为创建的MSMQ消息设置自定义标签。有什么解决方案吗?

1 个答案:

答案 0 :(得分:0)

1)在定期查询数据库表时你是独立的 - 在Rebus中没有内置机制来执行此操作。

我建议您查看System.Timers.Timer或类似内容。

2)您可以使用Rebus.TransactionScopes包在Rebus处理程序中启用自动事务范围。

3)开箱即用,无法指定要在MSMQ消息上使用的标签。它将由Rebus设置为由this extension method指示的消息类型和ID组成的字符串。