项目

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);
    };
});
在本文档中