项目
版本

分布式事件总线Rebus集成

本文解释了 如何配置Rebus 做为分布式总线提供程序. 参阅分布式事件总线文档了解如何使用分布式事件总线系统.

安装

使用ABP CLI添加Volo.Abp.EventBus.RebusNuGet包到你的项目:

  • 安装ABP CLI,如果你还没有安装.
  • 在你想要安装 Volo.Abp.EventBus.Rebus 包的 .csproj 文件目录打开命令行(终端).
  • 运行 abp add-package Volo.Abp.EventBus.Rebus 命令.

如果你想要手动安装,安装Volo.Abp.EventBus.Rebus NuGet 包到你的项目然后添加 [DependsOn(typeof(AbpEventBusRebusModule))] 到你的项目模块类.

配置

可以使用配置使用标准的配置系统,如选项类.

AbpRebusEventBusOptions 类用于配置事件总线选项.

你可以在你的模块PreConfigureServices 方法配置选项.

示例: 最小化配置

PreConfigure<AbpRebusEventBusOptions>(options =>
{
    options.InputQueueName = "eventbus";
});

Rebus 有很多选项,你可以使用 AbpRebusEventBusOptionsConfigurer 属性来配置.

默认事件存储在内存中. 参阅rebus文档了解更多信息.

示例: 配置存储

PreConfigure<AbpRebusEventBusOptions>(options =>
{
    options.InputQueueName = "eventbus";
    options.Configurer = rebusConfigurer =>
    {
        rebusConfigurer.Transport(t => t.UseMsmq("eventbus"));
        rebusConfigurer.Subscriptions(s => s.UseJsonFile(@"subscriptions.json"));
    };
});

你可以使用 AbpRebusEventBusOptionsPublish 属性来更改发布方法.

示例: 配置事件发布

PreConfigure<AbpRebusEventBusOptions>(options =>
{
    options.InputQueueName = "eventbus";
    options.Publish = async (bus, type, data) =>
    {
        await bus.Publish(data);
    };
});
在本文档中