static void Main(string[] args) { Console.WriteLine(Resources.IniciandoAplicacao); try { var loggerFactory = new LoggerFactory(); var settings = GetConfiguration(); var messagingBuilderFactory = new MessagingBuilderFactory(); using (var builder = messagingBuilderFactory.GetBuilder(settings, loggerFactory)) using (var manager = new MessagingManager(builder, loggerFactory)) { var publisher = builder.BuildPublisher(); manager.LoadProcessors(null); manager.Start(); Console.WriteLine(Resources.PublicandoMensagem); publisher.Publish(new ExampleMessage() { Text = ItsWorking }, Queue); Console.WriteLine(Resources.RodandoAplicacao); Console.ReadLine(); manager.Stop(); Console.WriteLine(Resources.AplicacaoEncerrada); } } catch (Exception err) { Console.WriteLine(Resources.ErroAoExecutarAplicacao, err.Message); } }
static void Main(string[] args) { Console.WriteLine("Iniciando aplicação"); try { ILoggerFactory factory = new LoggerFactory(); var settings = GetConfiguration(); IBuilder builder = new AmqpBuilder(settings, factory); using (var manager = new MessagingManager(builder, factory)) { var publisher = builder.BuildPublisher(); manager.LoadProcessors(null); manager.Start(); Console.WriteLine("[.] Publicando mensagem para [testQueue123] ..."); publisher.Publish(new ExampleMessage() { Text = "It's working" }, "testQueue123"); Console.WriteLine("Rodando aplicação. Pressione (enter) para encerrar."); Console.ReadLine(); manager.Stop(); Console.WriteLine("Aplicação encerrada com sucesso."); } } catch (Exception err) { Console.WriteLine($"Erro ao executar aplicação. Detalhes: ${err.Message}"); } }
public void When_Stop_And_Inactive_Should_Log_Information() { var manager = new MessagingManager(_builderMock.Object, _loggerFactoryMock.Object); manager.Stop(); _loggerMock.Verify(l => l.Log(LogLevel.Information, It.IsAny <EventId>(), new FormattedLogValues(Resources.MQManagerNotStarted), It.IsAny <Exception>(), It.IsAny <Func <object, Exception, string> >()), Times.Once); }
public void StopTwiceTest() { var manager = new MessagingManager(builderMock.Object, loggerFactoryMock.Object); manager.Active = true; Assert.True(manager.Active); manager.Active = false; Assert.False(manager.Active); manager.Stop(); Assert.False(manager.Active); }
public void When_Stop_Should_Stop_Each_Created_Consumer() { var manager = new MessagingManager(_builderMock.Object, _loggerFactoryMock.Object); manager.EnabledProcessors.Add(GetProcessor <TestProcessor>()); manager.Start(); manager.Stop(); _consumerMock.Verify(c => c.Stop(), Times.Exactly(manager.EnabledProcessors.Count)); }
public void When_Stop_Should_Set_As_Inactive() { var manager = new MessagingManager(_builderMock.Object, _loggerFactoryMock.Object) { Active = true }; manager.Stop(); manager.Active.Should().Be(false); }
public void When_Stop_With_Error_Should_Log_Information_About_Error() { var exception = new Exception(); _consumerMock.Setup(c => c.Stop()).Throws(exception); var manager = new MessagingManager(_builderMock.Object, _loggerFactoryMock.Object); manager.EnabledProcessors.Add(GetProcessor <TestProcessor>()); manager.Start(); manager.Stop(); _loggerMock.Verify(l => l.Log(LogLevel.Error, It.IsAny <EventId>(), new FormattedLogValues(Resources.MQManagerErrorWhileStopping), exception, It.IsAny <Func <object, Exception, string> >()), Times.Once); }
static void Main(string[] args) { Console.WriteLine("Iniciando aplicação"); try { ILoggerFactory factory = new LoggerFactory(); IBuilder builder = new AmqpBuilder(GetConfiguration(), factory); var manager = new MessagingManager(builder, factory); var publisher = builder.BuildPublisher(); manager.LoadProcessors(null); manager.Start(); Console.WriteLine("[.] Publicando mensagem para [testQueue123] ..."); Console.WriteLine("Rodando aplicação. Digite (quit) para encerrar ou qualquer numero apra calcular Fibonacci."); while (true) { var value = Console.ReadLine(); if (value == "quit") { break; } if (!Int32.TryParse(value, out int fibNum)) { Console.WriteLine($"{value} não é um inteiro válido"); } var reply = publisher.PublishAndWait <FibMessage>(new FibMessage() { Number = fibNum }, "test.fibonacci").Result; if (String.IsNullOrEmpty(reply.ErrorMessage)) { Console.WriteLine($"Fibonacci para {fibNum} é igual a {reply.Number}"); } else { Console.WriteLine($"Erro ao calcular fibonacci: {reply.ErrorMessage}"); } } manager.Stop(); Console.WriteLine("Aplicação encerrada com sucesso."); } catch (Exception err) { Console.WriteLine($"Erro ao executar aplicação. Detalhes: ${err.Message}"); } }
private static void ProccessQueueMessage(IConfiguration config) { var loggerFactory = new LoggerFactory(); var messagingBuilderFactory = new MessagingBuilderFactory(); var builder = messagingBuilderFactory.GetBuilder(config, loggerFactory); using (var manager = new MessagingManager(builder, loggerFactory)) { manager.LoadProcessors(null); manager.Start(); Console.WriteLine(Resources.ClosingApplication); Console.ReadLine(); manager.Stop(); } }
static void Main(string[] args) { Console.WriteLine(Resources.IniciandoAplicacao); try { var factory = new LoggerFactory(); var messagingBuilderFactory = new MessagingBuilderFactory(); var builder = messagingBuilderFactory.GetBuilder(GetConfiguration(), factory); var publisher = builder.BuildPublisher(); var manager = new MessagingManager(builder, factory); manager.LoadProcessors(null); manager.Start(); PubliqueMensagem(publisher); manager.Stop(); Console.WriteLine(Resources.AplicacaoEncerrada); } catch (Exception err) { Console.WriteLine(Resources.ErroAoExecutarAplicacao, err.Message); } }