Rebus 分布式事件总线集成
本文档详细说明如何配置 Rebus 作为分布式事件总线提供者。如需了解分布式事件总线系统的使用方法,请参阅 分布式事件总线文档
安装步骤
使用 ABP CLI 将 Volo.Abp.EventBus.Rebus NuGet 包添加到项目中:
- 若尚未安装,请先安装 ABP CLI
- 在需要添加
Volo.Abp.EventBus.Rebus包的.csproj文件所在目录打开命令行(终端) - 执行
abp add-package Volo.Abp.EventBus.Rebus命令
如需手动安装,请将 Volo.Abp.EventBus.Rebus NuGet 包安装到项目,并在项目的 ABP 模块类中添加 [DependsOn(typeof(AbpEventBusRebusModule))] 依赖项
配置方法
选项配置类
AbpRebusEventBusOptions 类可用于配置 Rebus 的事件总线选项
可在模块的 PreConfigureServices 方法中配置这些选项
示例:最小化配置
PreConfigure<AbpRebusEventBusOptions>(options =>
{
options.InputQueueName = "eventbus";
});
Rebus 提供多种配置选项,可通过 AbpRebusEventBusOptions 类的 Configurer 属性进行配置
默认情况下事件存储在内存中。详细信息请参阅 rebus 文档
示例:配置存储方式
PreConfigure<AbpRebusEventBusOptions>(options =>
{
options.InputQueueName = "eventbus";
options.Configurer = rebusConfigurer =>
{
rebusConfigurer.Transport(t => t.UseMsmq("eventbus"));
rebusConfigurer.Subscriptions(s => s.UseJsonFile(@"subscriptions.json"));
};
});
可通过 AbpRebusEventBusOptions 类的 Publish 属性修改事件发布方式
示例:配置事件发布
PreConfigure<AbpRebusEventBusOptions>(options =>
{
options.InputQueueName = "eventbus";
options.Publish = async (bus, type, data) =>
{
await bus.Publish(data);
};
});
抠丁客


