56 lines
2.0 KiB
C#
Raw 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;
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-02 17:54:12 +08:00
}
2025-04-15 11:15:22 +08:00
public override void OnApplicationInitialization(ApplicationInitializationContext context)
{
var app = context.GetApplicationBuilder();
// 注册Subscriber
app.ApplicationServices.UseKafkaSubscribers();
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
}
}