Exemplo n.º 1
0
        public void Write()
        {
            var busConfiguration = new BusConfiguration();

            busConfiguration.EndpointName(endpointName);
            var typesToScan = TypeScanner.NestedTypes <HeaderWriterError>(typeof(ConfigErrorQueue));

            busConfiguration.TypesToScan(typesToScan);
            busConfiguration.EnableInstallers();
            busConfiguration.UsePersistence <InMemoryPersistence>();
            busConfiguration.RegisterComponents(c => c.ConfigureComponent <Mutator>(DependencyLifecycle.InstancePerCall));
            using (var bus = (UnicastBus)Bus.Create(busConfiguration).Start())
            {
                bus.Builder.Build <BusNotifications>()
                .Errors
                .MessageSentToErrorQueue
                .Subscribe(e =>
                {
                    var headerText = HeaderWriter.ToFriendlyString <HeaderWriterError>(e.Headers);
                    headerText     = BehaviorCleaner.CleanStackTrace(headerText);
                    headerText     = StackTraceCleaner.CleanStackTrace(headerText);
                    SnippetLogger.Write(text: headerText, suffix: "Error", version: "5");
                    ManualResetEvent.Set();
                });
                var messageToSend = new MessageToSend();
                bus.SendLocal(messageToSend);
                ManualResetEvent.WaitOne();
            }
        }
            public override Task Invoke(IIncomingPhysicalMessageContext context, Func <Task> next)
            {
                var headers    = context.MessageHeaders;
                var headerText = HeaderWriter.ToFriendlyString <HeaderWriterError>(headers);

                headerText = BehaviorCleaner.CleanStackTrace(headerText);
                headerText = StackTraceCleaner.CleanStackTrace(headerText);
                SnippetLogger.Write(
                    text: headerText,
                    suffix: "Error");
                ManualResetEvent.Set();
                return(Task.CompletedTask);
            }
Exemplo n.º 3
0
            public Mutator(Notifications busNotifications)
            {
                var errorsNotifications = busNotifications.Errors;

                errorsNotifications.MessageSentToErrorQueue += (sender, retry) =>
                {
                    var headerText = HeaderWriter.ToFriendlyString <HeaderWriterError>(retry.Headers);
                    headerText = BehaviorCleaner.CleanStackTrace(headerText);
                    headerText = StackTraceCleaner.CleanStackTrace(headerText);
                    SnippetLogger.Write(text: headerText, suffix: "Error", version: "6");
                    ManualResetEvent.Set();
                };
            }