Beispiel #1
0
        public void Describe(JasperRuntime runtime, TextWriter writer)
        {
            var transports = runtime.Get <ITransport[]>()
                             .Where(x => Settings.StateFor(x.Protocol) == TransportState.Enabled);

            foreach (var transport in transports)
            {
                transport.Describe(writer);
            }

            writer.WriteLine();
            foreach (var channel in Channels.AllKnownChannels())
            {
                writer.WriteLine($"Active sending agent to {channel.Uri}");
            }

            if (runtime.Registry.Logging.Verbose)
            {
                writer.WriteLine("Handles messages:");

                var longestMessageName = Graph.Chains.Select(x => x.MessageType.FullName.Length).Max() + 2;

                foreach (var chain in Graph.Chains)
                {
                    var messageName = chain.MessageType.FullName.PadLeft(longestMessageName);
                    var handlers    = chain.Handlers.Select(x => x.ToString()).Join(", ");


                    writer.WriteLine($"{messageName}: {handlers}");
                }

                writer.WriteLine();
            }
        }