public EventBusRabbitMQ( IServiceProvider serviceProvider, IRabbitMQPersistentConnection persistentConnection, ILogger <EventBusRabbitMQ> logger, IEventBusSubscriptionsManager subsManager, string commandExchangeName, string eventExchangeName, string queueName = null, int retryCount = 5) { _serviceProvider = serviceProvider; _persistentConnection = persistentConnection ?? throw new ArgumentNullException(nameof(persistentConnection)); _logger = logger ?? throw new ArgumentNullException(nameof(logger)); _subsManager = subsManager ?? new InMemoryEventBusSubscriptionsManager(); _commandExchangeName = commandExchangeName; _eventExchangeName = eventExchangeName; _queueName = queueName; _consumerChannel = CreateConsumerChannel(); _retryCount = retryCount; _subsManager.OnEventRemoved += SubsManager_OnEventRemoved; }
public EventBusRabbitMQ( IServiceProvider services, IOptions <EventBusRabbitMQOptions> options, IRabbitMQPersistentConnection persistentConnection, ILogger <EventBusRabbitMQ> logger, IEventBusSubscriptionsManager subsManager) { _logger = logger; _services = services; _persistentConnection = persistentConnection ?? throw new ArgumentNullException(nameof(persistentConnection)); _subsManager = subsManager ?? new EventBusSubscriptionsManager(); _options = options.Value; _exchangeType = "direct"; _consumerChannel = CreateConsumerChannel(); _subsManager.OnEventRemoved += SubsManager_OnEventRemoved; }
/// <summary> /// RabbitMQ事件总线 /// </summary> /// <param name="persistentConnection">RabbitMQ持久连接</param> /// <param name="logger">日志</param> /// <param name="service">生命周期</param> /// <param name="subsManager">订阅管理器</param> /// <param name="queueName">队列名称</param> /// <param name="exchangeName">交换机名称</param> /// <param name="retryCount">重试次数</param> /// <param name="autoListening"></param> public EventBusRabbitMQ(IRabbitMQPersistentConnection persistentConnection, ILogger <EventBusRabbitMQ> logger, IServiceProvider service, IEventBusSubscriptionsManager subsManager, string queueName, string exchangeName = "MateralTFMSEventBusExchange", int retryCount = 5, bool autoListening = true) { _persistentConnection = persistentConnection ?? throw new ArgumentNullException(nameof(persistentConnection)); _logger = logger ?? throw new ArgumentNullException(nameof(logger)); _subsManager = subsManager ?? new InMemoryEventBusSubscriptionsManager(); _queueName = queueName; _service = service; _retryCount = retryCount; _exchangeName = exchangeName; _subsManager.OnEventRemoved += SubsManager_OnEventRemoved; Task task = Task.Run(async() => { _consumerChannel = await CreateConsumerChannelAsync(); }); Task.WaitAll(task); if (autoListening) { StartListening(); } }
public ServiceBusEventBus(string connectionString, string topic, ILogger <ServiceBusEventBus> logger, IEventBusSubscriptionsManager subsManager, IServiceProvider serviceProvider, string subscriptionClientName, bool labelFiltering) { _logger = logger ?? throw new ArgumentNullException(nameof(logger)); _labelFiltering = labelFiltering; _topic = topic; _connectionString = connectionString; _serviceProvider = serviceProvider; _topicClient = CreateTopicClient(); // check if subscriber if (!string.IsNullOrEmpty(subscriptionClientName)) { // this is a subscriber _subsManager = subsManager ?? new InMemoryEventBusSubscriptionsManager(); _subscriptionClient = new SubscriptionClient(connectionString, topic, subscriptionClientName); if (labelFiltering) { RemoveDefaultRule(); } } }
private void RegisterEventBus(IServiceCollection services) { // = services.Resolve<IEventBusSubscriptionsManager>();//app.ApplicationServices.GetRequiredService<IEventBusSubscriptionsManager>(); services.AddSingleton <IEventBus, RabbitMQBus>(sp => { var rabbitMQPersistentConnection = sp.GetRequiredService <IRabbitMQPersistentConnection>(); var iLifetimeScope = sp.GetRequiredService <ILifetimeScope>(); var logger = sp.GetRequiredService <ILogger <RabbitMQBus> >(); if (_eventBusSubcriptionsManager == null) { _eventBusSubcriptionsManager = sp.GetRequiredService <IEventBusSubscriptionsManager>(); } var retryCount = 5; if (_config.EventBusRetryCount > 0) { retryCount = _config.EventBusRetryCount; } return(new RabbitMQBus(rabbitMQPersistentConnection, logger, iLifetimeScope, _eventBusSubcriptionsManager, _config.SubscriptionClientName, retryCount)); }); services.AddSingleton <IEventBusSubscriptionsManager, InMemoryEventBusSubscriptionsManager>(); services.AddSingleton <VehicleStatusChangedIntegrationEventHandler>(); }
public RabbitMqEventBus( string queueName, string exchangeName, bool deadLettetingEnabled, string deadLetteringSufix, IRabbitMqPersistentConnection persistentConnection, ILogger <RabbitMqEventBus> logger, IEventBusSubscriptionsManager subscriptionsManager, IServiceProvider serviceProvider, Action <Action> resillientPublishPolicyAction, Func <IServiceScope, object, Task> preprocessAction) { _queueName = queueName; _exchangeName = exchangeName; _deadLettetingEnabled = deadLettetingEnabled; _deadLetteringSufix = deadLetteringSufix; _persistentConnection = persistentConnection; _logger = logger; _subscriptionsManager = subscriptionsManager; _serviceProvider = serviceProvider; _resillientPublishPolicyAction = resillientPublishPolicyAction; _preprocessAction = preprocessAction; DeclareExchangeAndQueue(); }
public EventBusRabbitMQ(IRabbitMQPersistentConnection persistentConnection, ILifetimeScope autofac, IEventBusSubscriptionsManager subsManager, Serilog.ILogger logger, string queueName = null, int retryCount = 5) { _persistentConnection = persistentConnection ?? throw new ArgumentNullException(nameof(persistentConnection)); _subsManager = subsManager ?? new InMemoryEventBusSubscriptionsManager(); _queueName = queueName; _consumerChannel = CreateConsumerChannel(logger); _autofac = autofac; _retryCount = retryCount; _subsManager.OnEventRemoved += SubsManager_OnEventRemoved; _retryPolicy = Policy.Handle <BrokerUnreachableException>() .Or <SocketException>() .WaitAndRetryAsync(_retryCount, retryAttempt => TimeSpan.FromSeconds(Math.Pow(2, retryAttempt)), (ex, time) => { _logger.Error("error"); }); _logger = logger; }
public EventBusRabbitMQ(IRabbitMQPersistentConnection persistentConnection, ILogger <EventBusRabbitMQ> logger, IEventBusSubscriptionsManager subsManager) { BROKER_NAME = AppConfig.BrokerName; _persistentConnection = persistentConnection ?? throw new ArgumentNullException(nameof(persistentConnection)); _logger = logger ?? throw new ArgumentNullException(nameof(logger)); _subsManager = subsManager ?? new InMemoryEventBusSubscriptionsManager(); _subsManager.OnEventRemoved += SubsManager_OnEventRemoved; }
public EventBusRabbitMqDynamic(IRabbitMqPersistentConnection persistentConnection, ILoggerFactory loggerFactory, ILifetimeScope autofac, IIntegrationGeneralHandler eventHandler, IEventBusSubscriptionsManager subsManager, IExchangeDeclareParameters exchangeDeclareParameters, IQueueDeclareParameters queueDeclareParameters, string queueName = null, CancellationToken cancel = default) : base(persistentConnection, loggerFactory, eventHandler, subsManager, exchangeDeclareParameters, queueDeclareParameters, queueName, cancel) { _autofac = autofac; ConsumerChannel = CreateConsumerChannel(cancel); }
// ReSharper disable once SuggestBaseTypeForParameter public EventBusRabbitMq(IServiceProvider serviceProvider, ILogger <EventBusRabbitMq> logger, IOptions <BusSetting> options, IRabbitMqPersistentConnection persistentConnection, IEventBusSubscriptionsManager subscriptionsManager) { _serviceProvider = serviceProvider; _logger = logger; _options = options.Value; _persistentConnection = persistentConnection ?? throw new ArgumentNullException(nameof(persistentConnection)); _subscriptionsManager = subscriptionsManager ?? _serviceProvider.GetRequiredService <InMemoryEventBusSubscriptionsManager>(); //_consumerChannel = CreateConsumerChannel(); _subscriptionsManager.OnEventRemoved += SubsManager_OnEventRemoved; }
public EventBusMSMQ(ILogger <EventBusMSMQ> logger, IEventBusSubscriptionsManager subscriptionsManager, string queueName = null) { _logger = logger ?? throw new ArgumentNullException(nameof(logger)); _subscriptionsManager = subscriptionsManager ?? new InMemoryEventBusSubscriptionsManager(); _queueName = queueName; }
public EventBusServiceBus(IServiceBusPersisterConnection serviceBusPersisterConnection, string subscriptionClientName, IEventBusSubscriptionsManager subsManager, ILifetimeScope autofac) { _autofac = autofac; _serviceBusPersisterConnection = serviceBusPersisterConnection; _subsManager = subsManager ?? new InMemoryEventBusSubscriptionsManager(); _subscriptionClient = new SubscriptionClient(serviceBusPersisterConnection.ServiceBusConnectionStringBuilder, subscriptionClientName); RemoveDefaultRule(); RegisterSubscriptionClientMessageHandler(); }
public EventBusRabbitMq(IEventBusSubscriptionsManager subscriptionsManager, ILogger <EventBusRabbitMq> logger) { _subscriptionsManager = subscriptionsManager; _logger = logger; }
public EventBusMassTransit(IEventBusSubscriptionsManager subscriptionsManager, IBusControl busControl) { _subsManager = subscriptionsManager; _BusControl = busControl; }
public MessageConsumer(IEventBusSubscriptionsManager manager) { _subsManager = manager; }
public InMemoryEventBus(IEventBusSubscriptionsManager subsManager, IServiceProvider serviceProvider) { _subsManager = subsManager; _serviceProvider = serviceProvider; }
protected AbstractEventBus(IServiceProvider serviceProvider) { this.serviceProvider = serviceProvider; this.logger = serviceProvider.GetService <ILogger <IEventBus> >(); this.subscriptionsManager = serviceProvider.GetService <IEventBusSubscriptionsManager>(); }
public EventBusRabbitMQ(IRabbitMQPersistentConnection persistentConnection, ILifetimeScope autofac, IEventBusSubscriptionsManager subscriptionsManager, string queueName, int retryCount) { _persistentConnection = persistentConnection; _autofac = autofac; _subscriptionsManager = subscriptionsManager; _queueName = queueName; _retryCount = retryCount; _consumerChannel = CreateConsumerChannel(); _subscriptionsManager.OnEventRemoved += SubsManager_OnEventRemoved; }
public InMemoryEventBus(IServiceProvider serviceProvider) { _serviceProvider = serviceProvider; _logger = _serviceProvider.GetRequiredService <ILogger <InMemoryEventBus> >(); _subsManager = new InMemoryEventBusSubscriptionsManager(); }
public EventBusRabbitMQ(IRabbitMQPersistentConnection rabbitMQPersistentConnection, IEventBusSubscriptionsManager eventBusSubscriptionsManager, ILifetimeScope lifetimeScope, string subscriptionQueueName = null, int retryCount = 5) { persistentConnection = rabbitMQPersistentConnection; subscriptionsManager = eventBusSubscriptionsManager; autofac = lifetimeScope; queueName = subscriptionQueueName; this.retryCount = retryCount; consumerChannel = CreateConsumerChannel(); }
public RabbitMQ(IRabbitMQPersistentConnection persistentConnection, ILifetimeScope autofac, IEventBusSubscriptionsManager subsManager, string queueName = null) { _persistentConnection = persistentConnection ?? throw new ArgumentNullException(nameof(persistentConnection)); _subsManager = subsManager ?? new InMemoryEventBusSubscriptionsManager(); _autofac = autofac; _queueName = queueName; _consumerChannel = CreateConsumerChannel(); _subsManager.OnEventRemoved += SubsManager_OnEventRemoved; }
public EventBusRabbitMQ(IOptions <AppSettings> settings, IEventBusSubscriptionsManager subscriptionManager) { _appSettings = settings; _subscriptionManager = subscriptionManager; }
public InsideEventQueueProvider(IEventBusSubscriptionsManager subsManager , ILogger <InsideEventQueueProvider> logger) { _subsManager = subsManager ?? throw new ArgumentNullException(nameof(subsManager)); _logger = logger ?? throw new ArgumentNullException(nameof(logger)); }
public DefultIntergrationEventSubscriberService(IEventBusSubscriptionsManager manager, IServiceProvider serviceProvider, IContentSerializer serializer) { _subsManager = manager; _serviceProvider = serviceProvider; _serializer = serializer; }
public EventBusMemoryQueue(IServiceProvider serviceProvider, IEventBusSubscriptionsManager subsManager) { _serviceProvider = serviceProvider; _subsManager = subsManager; }
public EventBusRabbitMQ(IRabbitMQPersistentConnection persistentConnection, IEventBusSubscriptionsManager subsManager, IMediator mediator) { _mediator = mediator; _subsManager = subsManager; _persistentConnection = persistentConnection; }
public EventBusRabbitMQ(IRabbitMQPersistentConnection persistentConnection, ILogger <EventBusRabbitMQ> logger, IEventBusSubscriptionsManager subsManager) { _persistentConnection = persistentConnection ?? throw new ArgumentNullException(nameof(persistentConnection)); _logger = logger ?? throw new ArgumentNullException(nameof(logger)); _subsManager = subsManager ?? new InMemoryEventBusSubscriptionsManager(); _consumerChannel = CreateConsumerChannel(); _subsManager.OnEventRemoved += SubsManager_OnEventRemoved; }
public EventBusRabbitMQ(IRabbitMQPersistentConnection persistentConnection, ILogger <EventBusRabbitMQ> logger, IEventBusSubscriptionsManager subsManager, string exchange = null, string queueName = null, int retryCount = 5) { _persistentConnection = persistentConnection ?? throw new ArgumentNullException(nameof(persistentConnection)); _logger = logger ?? throw new ArgumentNullException(nameof(logger)); _subsManager = subsManager ?? new InMemoryEventBusSubscriptionsManager(); _exchange = exchange; _queueName = queueName; _subsManager.OnEventRemoved += SubsManager_OnEventRemoved; _retryCount = retryCount; }
public EventBusRabbitMQ(IRabbitMQPersistentConnection persistentConnection, ILogger <EventBusRabbitMQ> logger, IEventBusSubscriptionsManager subsManager) { BROKER_NAME = AppConfig.BrokerName; _messageTTL = AppConfig.MessageTTL; _retryCount = AppConfig.RetryCount; _prefetchCount = AppConfig.PrefetchCount; _rollbackCount = AppConfig.FailCount; _consumerChannels = new Dictionary <Tuple <string, QueueConsumerMode>, IModel>(); _exchanges = new Dictionary <QueueConsumerMode, string>(); _exchanges.Add(QueueConsumerMode.Normal, BROKER_NAME); _exchanges.Add(QueueConsumerMode.Retry, $"{BROKER_NAME}@{QueueConsumerMode.Retry.ToString()}"); _exchanges.Add(QueueConsumerMode.Fail, $"{BROKER_NAME}@{QueueConsumerMode.Fail.ToString()}"); _persistentConnection = persistentConnection ?? throw new ArgumentNullException(nameof(persistentConnection)); _logger = logger ?? throw new ArgumentNullException(nameof(logger)); _subsManager = subsManager ?? new InMemoryEventBusSubscriptionsManager(); _persistentConnection.OnRabbitConnectionShutdown += PersistentConnection_OnEventShutDown; _subsManager.OnEventRemoved += SubsManager_OnEventRemoved; }
private static void RegisterEventBus(IEventBusSubscriptionsManager eventBus) { eventBus.AddSubscription <CarNotificationEventData, DriverHandler> (); }