protected override void ConfigureBusHost(IRabbitMqBusFactoryConfigurator configurator, IRabbitMqHost host) { configurator.ReceiveEndpoint(host, "input_queue_error", x => { x.PurgeOnStartup = true; _errorHandler = Handled<PingMessage>(x); }); }
protected override void ConfigureBusHost(IRabbitMqBusFactoryConfigurator configurator, IRabbitMqHost host) { configurator.ReceiveEndpoint(host, "monitor", e => { _pingsHandled = Handled<PingMessage>(e, 1000); }); }
protected override void ConfigureBus(IRabbitMqBusFactoryConfigurator configurator) { ISymmetricKeyProvider keyProvider = new TestSymmetricKeyProvider("secure"); var streamProvider = new AesCryptoStreamProvider(keyProvider, "default"); configurator.UseEncryptedSerializer(streamProvider); base.ConfigureBus(configurator); }
protected override void ConfigureBusHost(IRabbitMqBusFactoryConfigurator configurator, IRabbitMqHost host) { configurator.ReceiveEndpoint(host, "input_queue_error", x => { x.PurgeOnStartup = true; _errorHandler = Handled<PingMessage>(x, context => context.Message.CorrelationId == _pingMessage.CorrelationId); _errorHandler2 = Handled<PingMessage>(x, context => context.Message.CorrelationId == _pingMessage2.CorrelationId); }); }
protected override void ConfigureBusHost(IRabbitMqBusFactoryConfigurator configurator, IRabbitMqHost host) { base.ConfigureBusHost(configurator, host); configurator.ReceiveEndpoint(host, "priority_input_queue", x => { x.EnablePriority(4); _endpointAddress = x.InputAddress; x.Handler<PingMessage>(context => context.RespondAsync(new PongMessage(context.Message.CorrelationId))); }); }
protected override void ConfigureBusHost(IRabbitMqBusFactoryConfigurator configurator, IRabbitMqHost host) { configurator.UseDelayedExchangeMessageScheduler(); base.ConfigureBusHost(configurator, host); configurator.TurnoutEndpoint<ProcessFile>(host, "process_queue", endpoint => { endpoint.SuperviseInterval = TimeSpan.FromSeconds(1); endpoint.SetJobFactory(async context => await Task.Delay(TimeSpan.FromSeconds(context.Command.Size)).ConfigureAwait(false)); _commandEndpointAddress = endpoint.InputAddress; }); }
protected virtual void ConfigureBusHost(IRabbitMqBusFactoryConfigurator configurator, IRabbitMqHost host) { }
protected virtual void ConfigureBus(IRabbitMqBusFactoryConfigurator configurator) { }
protected override void ConfigureBus(IRabbitMqBusFactoryConfigurator configurator) { base.ConfigureBus(configurator); configurator.PrefetchCount = 100; }
protected override void ConfigureBusHost(IRabbitMqBusFactoryConfigurator configurator, IRabbitMqHost host) { base.ConfigureBusHost(configurator, host); configurator.PrefetchCount = 100; configurator.ReceiveEndpoint(host, "input_queue_express", x => { x.AutoDelete = true; x.Durable = false; x.PrefetchCount = 100; _serviceAddress = x.InputAddress; x.Handler<PingMessage>(async context => { try { await context.RespondAsync(new PongMessage(context.Message.CorrelationId)); } catch (Exception ex) { Console.WriteLine(ex); } }); }); }
/// <summary> /// The extension method to register all endpoint receivers and their respective consumers in the service /// </summary> /// <param name="cfg"></param> /// <param name="ctx"></param> public static void RegisterEndPointReceivers(this IRabbitMqBusFactoryConfigurator cfg, IBusRegistrationContext ctx) { cfg.RegisterClientEventQueueReceiver(ctx); }
protected override void ConfigureBusHost(IRabbitMqBusFactoryConfigurator configurator, IRabbitMqHost host) { configurator.UseDelayedExchangeMessageScheduler(); base.ConfigureBusHost(configurator, host); configurator.TurnoutEndpoint<ProcessFile>(host, "process_queue", endpoint => { endpoint.SuperviseInterval = TimeSpan.FromSeconds(1); endpoint.SetJobFactory(async context => { try { await Task.Delay(TimeSpan.FromSeconds(context.Command.Size), context.CancellationToken).ConfigureAwait(false); } catch (TaskCanceledException ex) { Console.WriteLine("Task was canceled!"); throw; } }); _commandEndpointAddress = endpoint.InputAddress; }); }
protected override void ConfigureBus(IRabbitMqBusFactoryConfigurator configurator) { base.ConfigureBus(configurator); configurator.PublisherConfirmation = false; }
protected override void ConfigureBus(IRabbitMqBusFactoryConfigurator configurator) { base.ConfigureBus(configurator); _busFactoryConfigurator = configurator; }
public void Configure(IRabbitMqHost host, IRabbitMqBusFactoryConfigurator rabbitMqBusFactoryConfigurator) { _host = host; _rabbitMqBusFactoryConfigurator = rabbitMqBusFactoryConfigurator; _consumerRegistrar.RegisterAllConsumerTypes(Configure); }
private void ConfigureMassTransit(IServiceCollection services, IServiceProvider serviceProvider, IRabbitMqHost host, IRabbitMqBusFactoryConfigurator cfg) { var machine = new RoutingSlipStateMachine(); services.AddSingleton <ISagaRepository <RoutingSlipState> >(sp => new EntityFrameworkSagaRepository <RoutingSlipState>(() => sp.GetRequiredService <OperationsDbContext>(), optimistic: true)); cfg.ReceiveEndpoint(host, "routing_slip_state", e => { e.PrefetchCount = 8; e.UseConcurrencyLimit(1); e.UseRetry(x => { x.Handle <DbUpdateConcurrencyException>(); x.Interval(5, TimeSpan.FromMilliseconds(100)); }); // Add the retry middleware for optimistic concurrency e.StateMachineSaga(machine, new EntityFrameworkSagaRepository <RoutingSlipState>(() => new OperationsDbContext(new DbContextOptionsBuilder().UseMySql(Configuration.GetConnectionString("DatabaseConnection")).Options), optimistic: true)); }); cfg.ConfigureActivities(host, serviceProvider, Configuration); }
protected override void ConfigureRabbitMqBus(IRabbitMqBusFactoryConfigurator configurator) { configurator.UseDelayedExchangeMessageScheduler(); }
public void BuildWorkflow(IRabbitMqBusFactoryConfigurator busFactoryConfigurator, IRabbitMqHost host, IComponentRegistry componentRegistry) { _activityConfigurator .ConfigureActivity <IRemoveUserRolesActivity, IRemoveUserRolesArguments, IRemoveUserRolesLog>( busFactoryConfigurator, host, new LifetimeScope(componentRegistry), executeConfigurator => { executeConfigurator.UseConcurrencyLimit(1); }); _activityConfigurator .ConfigureActivity <IDeletePartnerPlatformUserActivity, IDeletePartnerPlatformUserArguments, IDeletePartnerPlatformUserLog>(busFactoryConfigurator, host, new LifetimeScope(componentRegistry)); _activityConfigurator .ConfigureActivity <ISoftDeleteDatabaseUserActivity, ISoftDeleteDatabaseUserArguments, ISoftDeleteDatabaseUserLog>(busFactoryConfigurator, host, new LifetimeScope(componentRegistry)); _activityConfigurator .ConfigureActivity <IRestorePartnerPlatformUserActivity, IRestorePartnerPlatformUserArguments, IRestorePartnerPlatformUserLog>(busFactoryConfigurator, host, new LifetimeScope(componentRegistry)); _activityConfigurator .ConfigureActivity <IActivateSoftDeletedDatabaseUserActivity, IActivateSoftDeletedDatabaseUserArguments, IActivateSoftDeletedDatabaseUserLog>(busFactoryConfigurator, host, new LifetimeScope(componentRegistry)); _activityConfigurator .ConfigureActivity <ICreatePartnerPlatformCustomerActivity, ICreatePartnerPlatformCustomerArguments, ICreatePartnerPlatformCustomerLog>(busFactoryConfigurator, host, new LifetimeScope(componentRegistry)); _activityConfigurator .ConfigureActivity <ICreateDatabaseCustomerActivity, ICreateDatabaseCustomerArguments, ICreateDatabaseCustomerLog>(busFactoryConfigurator, host, new LifetimeScope(componentRegistry)); _activityConfigurator .ConfigureActivity <IAddCustomerDomainPartnerPortalActivity, IAddCustomerDomainPartnerPortalArguments, IAddCustomerDomainPartnerPortalLog>(busFactoryConfigurator, host, new LifetimeScope(componentRegistry), executeConfigurator => { executeConfigurator.UseConcurrencyLimit(1); }); _activityConfigurator .ConfigureActivity <IPartnerPlatformCustomerSubscriptionActivity, IPartnerPlatformCustomerSubscriptionArguments, IPartnerPlatformCustomerSubscriptionLog>( busFactoryConfigurator, host, new LifetimeScope(componentRegistry)); _activityConfigurator .ConfigureActivity <IDecreasePartnerPlatformCustomerSubscriptionActivity, IDecreasePartnerPlatformCustomerSubscriptionArguments, IDecreasePartnerPlatformCustomerSubscriptionLog>(busFactoryConfigurator, host, new LifetimeScope(componentRegistry)); _activityConfigurator .ConfigureActivity <IDatabaseCustomerSubscriptionActivity, IDatabaseCustomerSubscriptionArguments, IDatabaseCustomerSubscriptionLog>(busFactoryConfigurator, host, new LifetimeScope(componentRegistry), executeConfigurator => { executeConfigurator.UseRetry(r => { r.Interval(30, TimeSpan.FromSeconds(10)); }); }); _activityConfigurator .ConfigureActivity <IDecreaseDatabaseCustomerSubscriptionActivity, IDecreaseDatabaseCustomerSubscriptionArguments, IDecreaseDatabaseCustomerSubscriptionLog>( busFactoryConfigurator, host, new LifetimeScope(componentRegistry)); _activityConfigurator .ConfigureActivity <ICreatePartnerPlatformUserActivity, ICreatePartnerPlatformUserArguments, ICreatePartnerPlatformUserLog>(busFactoryConfigurator, host, new LifetimeScope(componentRegistry), executeConfigurator => { executeConfigurator.UseConcurrencyLimit(1); }); _activityConfigurator .ConfigureActivity <ICreateDatabaseUserActivity, ICreateDatabaseUserArguments, ICreateDatabaseUserLog>( busFactoryConfigurator, host, new LifetimeScope(componentRegistry)); _activityConfigurator .ConfigureActivity <IRemoveLicensePartnerPortalUserActivity, IRemoveLicensePartnerPortalUserArguments, IRemoveLicensePartnerPortalUserLog>(busFactoryConfigurator, host, new LifetimeScope(componentRegistry)); _activityConfigurator .ConfigureActivity <IRemoveLicenseDatabaseUserActivity, IRemoveLicenseDatabaseUserArguments, IRemoveLicenseDatabaseUserLog>(busFactoryConfigurator, host, new LifetimeScope(componentRegistry)); _activityConfigurator .ConfigureActivity <IMultiPartnerPlatformCustomerSubscriptionActivity, IMultiPartnerPlatformCustomerSubscriptionArguments, IMultiPartnerPlatformCustomerSubscriptionLog>( busFactoryConfigurator, host, new LifetimeScope(componentRegistry)); _activityConfigurator .ConfigureActivity <IMultiDatabaseCustomerSubscriptionActivity, IMultiDatabaseCustomerSubscriptionArguments, IMultiDatabaseCustomerSubscriptionLog>( busFactoryConfigurator, host, new LifetimeScope(componentRegistry)); _activityConfigurator .ConfigureActivity <IAddMultiDomainToDatabaseActivity, IAddMultiDomainToDatabaseArguments, IAddMultiDomainToDatabaseLog>(busFactoryConfigurator, host, new LifetimeScope(componentRegistry)); _activityConfigurator .ConfigureActivity <ICreateDatabaseSubscriptionActivity, ICreateDatabaseSubscriptionArguments, ICreateDatabaseSubscriptionLog>(busFactoryConfigurator, host, new LifetimeScope(componentRegistry)); _activityConfigurator.ConfigureActivity <ICreateOrderActivity, ICreateOrderArguments, ICreateOrderLog>( busFactoryConfigurator, host, new LifetimeScope(componentRegistry)); _activityConfigurator .ConfigureActivity <IUpdateDatabaseSubscriptionActivity, IUpdateDatabaseSubscriptionArguments, IUpdateDatabaseSubscriptionLog>(busFactoryConfigurator, host, new LifetimeScope(componentRegistry)); _activityConfigurator .ConfigureActivity <IUpdateDatabaseSubscriptionQuantityActivity, IUpdateDatabaseSubscriptionQuantityArguments, IUpdateDatabaseSubscriptionQuantityLog>( busFactoryConfigurator, host, new LifetimeScope(componentRegistry)); _activityConfigurator .ConfigureActivity <IUpdatePartnerPlatformSubscriptionQuantityActivity, IUpdatePartnerPlatformSubscriptionQuantityArguments, IUpdatePartnerPlatformSubscriptionQuantityLog>( busFactoryConfigurator, host, new LifetimeScope(componentRegistry)); _activityConfigurator .ConfigureActivity <ISuspendDatabasesubscriptionActivity, ISuspendDatabasesubscriptionArguments, ISuspendDatabasesubscriptionLog>(busFactoryConfigurator, host, new LifetimeScope(componentRegistry)); _activityConfigurator .ConfigureActivity <ISuspendPartnerPlatformSubscriptionActivity, ISuspendPartnerPlatformSubscriptionArguments, ISuspendPartnerPlatformSubscriptionLog>( busFactoryConfigurator, host, new LifetimeScope(componentRegistry)); _activityConfigurator .ConfigureActivity <IActivateSuspendedDatabaseSubscriptionActivity, IActivateSuspendedDatabaseSubscriptionArguments, IActivateSuspendedDatabaseSubscriptionLog>( busFactoryConfigurator, host, new LifetimeScope(componentRegistry)); _activityConfigurator .ConfigureActivity <IActivateSuspendedPartnerPlatformSubscriptionAcivity, IActivateSuspendedPartnerPlatformSubscriptionArguments, IActivateSuspendedPartnerPlatformSubscriptionLog>(busFactoryConfigurator, host, new LifetimeScope(componentRegistry)); _activityConfigurator .ConfigureActivity <IDatabaseProvisionedStatusProvisionedActivity, IDatabaseProvisionedStatusProvisionedArguments, IDatabaseProvisionedStatusProvisionedLog>( busFactoryConfigurator, host, new LifetimeScope(componentRegistry)); _activityConfigurator .ConfigureExecuteActivity <IUpdateDatabaseSubscriptionStateActivity, IUpdateDatabaseSubscriptionStateArguments>(busFactoryConfigurator, host, new LifetimeScope(componentRegistry)); _activityConfigurator.ConfigureExecuteActivity <IGetUserRolesActivity, IGetUserRolesArguments>( busFactoryConfigurator, host, new LifetimeScope(componentRegistry), executeConfigurator => { executeConfigurator.UseConcurrencyLimit(1); }); _activityConfigurator.ConfigureExecuteActivity <IAssignUserRolesActivity, IAssignUserRolesArguments>( busFactoryConfigurator, host, new LifetimeScope(componentRegistry), executeConfigurator => { executeConfigurator.UseConcurrencyLimit(1); }); _activityConfigurator .ConfigureExecuteActivity <IFederateCustomerDomainActivity, IFederateCustomerDomainArguments>( busFactoryConfigurator, host, new LifetimeScope(componentRegistry), executeConfigurator => { executeConfigurator.UseConcurrencyLimit(1); }); _activityConfigurator .ConfigureExecuteActivity <IFederateCustomerDomainDatabaseStatusActivity, IFederateCustomerDomainDatabaseStatusArguments>(busFactoryConfigurator, host, new LifetimeScope(componentRegistry)); _activityConfigurator .ConfigureExecuteActivity <IHardDeletePartnerPlatformUserActivity, IHardDeletePartnerPlatformUserArguments>(busFactoryConfigurator, host, new LifetimeScope(componentRegistry), executeConfigurator => { executeConfigurator.UseConcurrencyLimit(1); }); _activityConfigurator.ConfigureExecuteActivity <IDeleteDatabaseUserActivity, IDeleteDatabaseUserArguments>( busFactoryConfigurator, host, new LifetimeScope(componentRegistry)); _activityConfigurator .ConfigureExecuteActivity <ICreateTempPartnerPlatformAdminUserActivity, ICreateTempPartnerPlatformAdminUserArguments>(busFactoryConfigurator, host, new LifetimeScope(componentRegistry), executeConfigurator => { executeConfigurator.UseConcurrencyLimit(1); }); _activityConfigurator .ConfigureExecuteActivity <IVerifyCustomerDomainActivity, IVerifyCustomerDomainArguments>( busFactoryConfigurator, host, new LifetimeScope(componentRegistry), executeConfigurator => { executeConfigurator.UseConcurrencyLimit(1); }); _activityConfigurator.ConfigureExecuteActivity <ISetImmutableIdActivity, SetImmutableIdArguments>( busFactoryConfigurator, host, new LifetimeScope(componentRegistry), executeConfigurator => { executeConfigurator.UseConcurrencyLimit(1); }); _activityConfigurator .ConfigureExecuteActivity <IVerifyCustomerDomainDatabaseStatusActivity, IVerifyCustomerDomainDatabaseStatusArguments>(busFactoryConfigurator, host, new LifetimeScope(componentRegistry)); _activityConfigurator .ConfigureExecuteActivity <IAddCustomerDomainToDatabaseActivity, IAddCustomerDomainToDatabaseArguments>( busFactoryConfigurator, host, new LifetimeScope(componentRegistry)); _activityConfigurator .ConfigureExecuteActivity <IGetCustomerDomainTxtRecordsActivity, IGetCustomerDomainTxtRecordsArguments>( busFactoryConfigurator, host, new LifetimeScope(componentRegistry), executeConfigurator => { executeConfigurator.UseConcurrencyLimit(1); }); _activityConfigurator .ConfigureExecuteActivity <ISendCustomerDomainTxtRecordsActivity, ISendCustomerDomainTxtRecordsArguments >(busFactoryConfigurator, host, new LifetimeScope(componentRegistry)); _activityConfigurator .ConfigureExecuteActivity <IUpdateDatabaseCustomerSubscriptionActivity, IUpdateDatabaseCustomerSubscriptionArguments>(busFactoryConfigurator, host, new LifetimeScope(componentRegistry)); _activityConfigurator .ConfigureExecuteActivity <IAssignLicenseToPartnerPlatformUserActivity, IAssignLicenseToPartnerPlatformUserArguments>(busFactoryConfigurator, host, new LifetimeScope(componentRegistry)); _activityConfigurator .ConfigureExecuteActivity <IAssignLicenseToDatabaseUserActivity, IAssignLicenseToDatabaseUserArguments>( busFactoryConfigurator, host, new LifetimeScope(componentRegistry)); _activityConfigurator.ConfigureExecuteActivity <ISendUserSetupEmailActivity, ISendUserSetupEmailArguments>( busFactoryConfigurator, host, new LifetimeScope(componentRegistry)); _activityConfigurator .ConfigureExecuteActivity <IRemoveAllLicensesPartnerPortalUserActivity, IRemoveAllLicensesPartnerPortalUserArguments>(busFactoryConfigurator, host, new LifetimeScope(componentRegistry)); _activityConfigurator .ConfigureExecuteActivity <ITransitionDispatchCreatingUsersActivity, ITransitionDispatchCreatingUsersArguments>(busFactoryConfigurator, host, new LifetimeScope(componentRegistry)); _activityConfigurator .ConfigureExecuteActivity <ICreateOrderWithMultiItemsActivity, ICreateOrderWithMultiItemsArguments>(busFactoryConfigurator, host, new LifetimeScope(componentRegistry)); _activityConfigurator .ConfigureExecuteActivity <IUpdateMultiDatabaseSubscriptionActivity, IUpdateMultiDatabaseSubscriptionArguments>(busFactoryConfigurator, host, new LifetimeScope(componentRegistry)); _activityConfigurator .ConfigureExecuteActivity <IUpdateMultiDatabaseSubscriptionStateActivity, IUpdateMultiDatabaseSubscriptionStateArguments>(busFactoryConfigurator, host, new LifetimeScope(componentRegistry)); _activityConfigurator .ConfigureExecuteActivity <IActivateMultiSuspendedDatabaseSubscriptionActivity, IActivateMultiSuspendedDatabaseSubscriptionArguments>(busFactoryConfigurator, host, new LifetimeScope(componentRegistry)); _activityConfigurator .ConfigureExecuteActivity <IActivateMultiSuspendedPartnerPlatformSubscriptionActivity, IActivateMultiSuspendedPartnerPlatformSubscriptionArguments>(busFactoryConfigurator, host, new LifetimeScope(componentRegistry)); _activityConfigurator .ConfigureExecuteActivity <IUpdateMultiDatabaseSubscriptionQuantityActivity, IUpdateMultiDatabaseSubscriptionQuantityArguments>(busFactoryConfigurator, host, new LifetimeScope(componentRegistry)); _activityConfigurator .ConfigureExecuteActivity <IUpdateMultiPartnerPlatformSubscriptionQuantityActivity, IUpdateMultiPartnerPlatformSubscriptionQuantityArguments>(busFactoryConfigurator, host, new LifetimeScope(componentRegistry)); _activityConfigurator .ConfigureExecuteActivity <ICreateSecurityGroupMemberActivity, ICreateSecurityGroupMemberArguments>(busFactoryConfigurator, host, new LifetimeScope(componentRegistry)); _activityConfigurator .ConfigureExecuteActivity <ICreateDatabaseSecurityGroupMemberActivity, ICreateDatabaseSecurityGroupMemberArguments>(busFactoryConfigurator, host, new LifetimeScope(componentRegistry)); _activityConfigurator .ConfigureExecuteActivity <ICreateDatabaseDistributionGroupActivity, ICreateDatabaseDistributionGroupArguments>(busFactoryConfigurator, host, new LifetimeScope(componentRegistry)); _activityConfigurator .ConfigureExecuteActivity <ICreateDatabaseDistributionGroupMemberActivity, ICreateDatabaseDistributionGroupMemberArguments>(busFactoryConfigurator, host, new LifetimeScope(componentRegistry)); _activityConfigurator .ConfigureExecuteActivity <ICreateDatabaseO365GroupActivity, ICreateDatabaseO365GroupArguments>(busFactoryConfigurator, host, new LifetimeScope(componentRegistry)); _activityConfigurator .ConfigureExecuteActivity <ICreateDatabaseO365GroupMemberActivity, ICreateDatabaseO365GroupMemberArguments>(busFactoryConfigurator, host, new LifetimeScope(componentRegistry)); _activityConfigurator .ConfigureExecuteActivity <ICreateDatabaseSecurityGroupActivity, ICreateDatabaseSecurityGroupArguments>(busFactoryConfigurator, host, new LifetimeScope(componentRegistry)); _activityConfigurator .ConfigureExecuteActivity <ICreateDistributionGroupActivity, ICreateDistributionGroupArguments>(busFactoryConfigurator, host, new LifetimeScope(componentRegistry)); _activityConfigurator .ConfigureExecuteActivity <ICreateDistributionGroupMemberActivity, ICreateDistributionGroupMemberArguments>(busFactoryConfigurator, host, new LifetimeScope(componentRegistry)); _activityConfigurator .ConfigureExecuteActivity <ICreateO365GroupActivity, ICreateO365GroupArguments>(busFactoryConfigurator, host, new LifetimeScope(componentRegistry)); _activityConfigurator .ConfigureExecuteActivity <ICreateO365GroupMemberActivity, ICreateO365GroupMemberArguments>(busFactoryConfigurator, host, new LifetimeScope(componentRegistry)); _activityConfigurator .ConfigureExecuteActivity <ICreateSecurityGroupActivity, ICreateSecurityGroupArguments>(busFactoryConfigurator, host, new LifetimeScope(componentRegistry)); _activityConfigurator .ConfigureExecuteActivity <RemoveDatabaseDistributionGroupActivity, IRemoveDatabaseDistributionGroupArguments>(busFactoryConfigurator, host, new LifetimeScope(componentRegistry)); _activityConfigurator .ConfigureExecuteActivity <IRemoveDatabaseDistributionGroupMemberActivity, IRemoveDatabaseDistributionGroupMemberArguments>(busFactoryConfigurator, host, new LifetimeScope(componentRegistry)); _activityConfigurator .ConfigureExecuteActivity <IRemoveDatabaseO365GroupActivity, IRemoveDatabaseO365GroupArguments>(busFactoryConfigurator, host, new LifetimeScope(componentRegistry)); _activityConfigurator .ConfigureExecuteActivity <IRemoveDatabaseO365GroupMemberActivity, IRemoveDatabaseO365GroupMemberArguments>(busFactoryConfigurator, host, new LifetimeScope(componentRegistry)); _activityConfigurator .ConfigureExecuteActivity <IRemoveDatabaseSecurityGroupActivity, IRemoveDatabaseSecurityGroupArguments>(busFactoryConfigurator, host, new LifetimeScope(componentRegistry)); _activityConfigurator .ConfigureExecuteActivity <IRemoveDistriputionGroupMemberActivity, IRemoveDistriputionGroupMemberArguments>(busFactoryConfigurator, host, new LifetimeScope(componentRegistry)); _activityConfigurator .ConfigureExecuteActivity <IRemoveO365GroupActivity, IRemoveO365GroupArguments>(busFactoryConfigurator, host, new LifetimeScope(componentRegistry)); _activityConfigurator .ConfigureExecuteActivity <IRemoveO365GroupMemberActivity, IRemoveO365GroupMemberArguments>(busFactoryConfigurator, host, new LifetimeScope(componentRegistry)); _activityConfigurator .ConfigureExecuteActivity <IRemoveSecurityGroupActivity, IRemoveSecurityGroupArguments>(busFactoryConfigurator, host, new LifetimeScope(componentRegistry)); _activityConfigurator .ConfigureExecuteActivity <IRemoveSecurityGroupMemberActivity, IRemoveSecurityGroupMemberArguments>(busFactoryConfigurator, host, new LifetimeScope(componentRegistry)); _activityConfigurator .ConfigureExecuteActivity <IRemoveDatabaseSecurityGroupMemberActivity, IRemoveDatabaseSecurityGroupMemberArguments>(busFactoryConfigurator, host, new LifetimeScope(componentRegistry)); _activityConfigurator .ConfigureExecuteActivity <IRemoveDistriputionGroupActivity, IRemoveDistriputionGroupArguments>(busFactoryConfigurator, host, new LifetimeScope(componentRegistry)); }
/// <summary> /// 添加consumer // 消费者停止消费消息后,将异常抛出,让消息回滚至原队列中 // 等待下次处理 /// </summary> /// <typeparam name="TEvent">consumer的接收事件参数</typeparam> /// <typeparam name="TConsumer">consumer类型</typeparam> /// <param name="cfg">配置对象</param> private void ConsumerTo <TEvent, TConsumer>(IRabbitMqReceiveEndpointConfigurator cfg, IRabbitMqBusFactoryConfigurator fcg, Type handlerType) where TConsumer : IEventConsumer <TEvent> where TEvent : Event, new() { SetPublishConfig <TEvent>(fcg); cfg.Handler <TEvent>(async evnt => { try { if (evnt.Message == null) { Log.Write(string.Format("消息{0}对象为null,不进入消费逻辑", evnt.MessageId), MessageType.Warn, this.GetType()); return; } using (var scope = _reg.BeginLifetimeScope()) { try { var beforeConsumer = scope.Resolve <IBeforeConsumer>(); if (beforeConsumer != null) { beforeConsumer.Execute(evnt.Message); } } catch { } scope.Resolve <IEventConsumer <TEvent> >().Consume(evnt.Message); try { var afterConsumer = scope.Resolve <IAfterConsumer>(); if (afterConsumer != null) { afterConsumer.Execute(evnt.Message); } } catch { } } } catch (StopedConsumeException) { await evnt.Publish(evnt.Message); } catch (RequeueException ex) { ++evnt.Message.RetryCount; Log.Write(string.Format("执行{0}错误,RequeueException,messageId:{1}", typeof(TConsumer), evnt.Message.Id), MessageType.Error, this.GetType(), ex); throw; } catch (Exception ex) { Log.Write(string.Format("执行{0}错误,messageId:{1}", typeof(TConsumer), evnt.Message.Id), MessageType.Error, this.GetType(), ex); if (evnt.Message.ExceptionRequeue) { ++evnt.Message.RetryCount; throw new RequeueException(); } throw; } }); }
protected override void ConfigureBusHost(IRabbitMqBusFactoryConfigurator configurator, IRabbitMqHost host) { base.ConfigureBusHost(configurator, host); _host = host; }
protected override void ConfigureBusHost(IRabbitMqBusFactoryConfigurator configurator, IRabbitMqHost host) { _management = configurator.ManagementEndpoint(host); }
protected override void ConfigureBusHost(IRabbitMqBusFactoryConfigurator configurator, IRabbitMqHost host) { base.ConfigureBusHost(configurator, host); configurator.UseDelayedExchangeMessageScheduler(); }
protected virtual IRabbitMqHost ConfigureHost(IRabbitMqBusFactoryConfigurator x) { return x.Host(_hostAddress, h => { h.Username("guest"); h.Password("guest"); if (!string.IsNullOrWhiteSpace(_nodeHostName)) h.UseCluster(c => c.Node(_nodeHostName)); }); }
protected override void ConfigureBusHost(IRabbitMqBusFactoryConfigurator configurator, IRabbitMqHost host) { base.ConfigureBusHost(configurator, host); configurator.OverrideDefaultBusEndpointQueueName($"super-bus-{NewId.NextGuid().ToString("N")}"); }