public static void ConfigureWhenContainerIsVerified(Container container, IBusControl busControl)
        {
            IMessageAuditStore store = container.GetInstance(typeof(MessageAuditStore)) as IMessageAuditStore;

            busControl.ConnectConsumeAuditObserver(store);

            busControl.Start();
        }
        public bool Start()
        {
            Log.Info("Creating bus...");

            _busControl = _busFactory.CreateBus();

            _busControl.ConnectSendAuditObservers(_auditStore);
            _busControl.ConnectConsumeAuditObserver(_auditStore);

            Log.Info("Starting bus...");

            _busControl.Start();

            return(true);
        }
Beispiel #3
0
        public override async Task StartAsync(CancellationToken cancellationToken)
        {
            _log.LogInformation(nameof(MessageBusService) + " background service is starting...");

            AppSecrets secrets = _config.Get <AppSecrets>();

            bool success = false;

            while (!success)
            {
                bool result = false;

                try
                {
                    result = await Utils.CheckTcpConnectionAsync(secrets.MessageBusHost, General.MessageBusServiceHealthPort);
                }
                catch (Exception e)
                {
                    _log.LogError(nameof(MessageBusService) + " background service check has failed: {Exception}", e);
                }

                if (result)
                {
                    success = true;
                    _messageBusServiceHealthCheck.MessageBusStartupTaskCompleted = true;

                    _log.LogInformation(nameof(MessageBusService) + " background service check succeeded.");
                }
                else
                {
                    await Task.Delay(General.StartupServiceCheckRetryIntervalMs, cancellationToken);
                }
            }

            _busControl.ConnectSendAuditObservers(_auditStore, c => c.Exclude(typeof(IServiceTemplateTestRequestV1), typeof(IServiceTemplateTestResponseV1)));
            _busControl.ConnectConsumeAuditObserver(_auditStore, c => c.Exclude(typeof(IServiceTemplateTestRequestV1), typeof(IServiceTemplateTestResponseV1)));

            await _busControl.StartAsync(cancellationToken);

            _log.LogInformation(nameof(MessageBusService) + " background service has started.");
        }
Beispiel #4
0
 public Task StartAsync(CancellationToken cancellationToken)
 {
     busControl.ConnectConsumeAuditObserver(auditStore);
     return(busControl.StartAsync(cancellationToken));
 }