68 lines
2.5 KiB
C#
Raw Permalink Normal View History

2025-04-09 14:33:20 +08:00
using Confluent.Kafka;
2025-04-17 13:35:08 +08:00
using JiShe.CollectBus.Common.Consts;
2025-04-09 14:33:20 +08:00
using JiShe.CollectBus.Kafka.Consumer;
using JiShe.CollectBus.Kafka.Internal;
2025-04-14 19:10:27 +08:00
using JiShe.CollectBus.Kafka.Producer;
2025-04-15 11:15:22 +08:00
using Microsoft.AspNetCore.Builder;
2025-04-09 14:33:20 +08:00
using Microsoft.Extensions.Configuration;
using Microsoft.Extensions.DependencyInjection;
2025-04-15 11:15:22 +08:00
using System.Reflection;
using Volo.Abp;
using Volo.Abp.DependencyInjection;
2025-04-09 14:33:20 +08:00
using Volo.Abp.Modularity;
2025-04-15 11:15:22 +08:00
using static Confluent.Kafka.ConfigPropertyNames;
2025-04-02 17:54:12 +08:00
2025-04-03 18:05:17 +08:00
namespace JiShe.CollectBus.Kafka
2025-04-02 17:54:12 +08:00
{
public class CollectBusKafkaModule : AbpModule
{
public override void ConfigureServices(ServiceConfigurationContext context)
{
2025-04-17 11:42:35 +08:00
var configuration = context.Services.GetConfiguration();
2025-04-17 13:35:08 +08:00
//var kafkaSection = configuration.GetSection(CommonConst.Kafka);
//KafkaOptionConfig kafkaOptionConfig = new KafkaOptionConfig ();
//kafkaSection.Bind(kafkaOptionConfig);
//if (configuration[CommonConst.ServerTagName] != null)
//{
// kafkaOptionConfig.ServerTagName = configuration[CommonConst.ServerTagName]!;
//}
//context.Services.AddSingleton(kafkaOptionConfig);
2025-04-17 13:54:18 +08:00
//context.Services.Configure<KafkaOptionConfig>(context.Services.GetConfiguration().GetSection(CommonConst.Kafka));
2025-04-17 13:35:08 +08:00
Configure<KafkaOptionConfig>(options =>
2025-04-17 11:42:35 +08:00
{
2025-04-17 13:35:08 +08:00
configuration.GetSection(CommonConst.Kafka).Bind(options);
});
2025-04-14 19:10:27 +08:00
// 注册Producer
context.Services.AddSingleton<IProducerService, ProducerService>();
2025-04-14 19:10:27 +08:00
// 注册Consumer
context.Services.AddSingleton<IConsumerService, ConsumerService>();
2025-04-18 09:28:48 +08:00
//context.Services.AddHostedService<HostedService>();
2025-04-02 17:54:12 +08:00
}
2025-04-15 11:15:22 +08:00
/// <summary>
/// 在初始化之前,初始化Kafka Topic
/// </summary>
/// <param name="context"></param>
public override void OnPreApplicationInitialization(ApplicationInitializationContext context)
2025-04-15 11:15:22 +08:00
{
var app = context.GetApplicationBuilder();
app.ApplicationServices.UseInitKafkaTopic();
}
2025-04-17 18:08:27 +08:00
public override void OnApplicationInitialization(ApplicationInitializationContext context)
{
var app = context.GetApplicationBuilder();
// 注册Subscriber
2025-04-18 09:28:48 +08:00
app.ApplicationServices.UseKafkaSubscribe();
2025-04-17 18:08:27 +08:00
2025-04-17 11:42:35 +08:00
// 获取程序集
//app.UseKafkaSubscribers(Assembly.Load("JiShe.CollectBus.Application"));
2025-04-15 11:15:22 +08:00
}
2025-04-02 17:54:12 +08:00
}
}