public RabbitMQCommandSender(RabbitMQBusContext context) { Channel = context.Connection.CreateModel(); _replyQueueName = Channel.QueueDeclare("", false, false, true).QueueName; _logger = NijnLogger.CreateLogger <RabbitMQCommandSender>(); _consumer = new EventingBasicConsumer(Channel); _consumer.Received += (model, ea) => { if (!_callbackMapper.TryRemove(ea.BasicProperties.CorrelationId, out var tcs)) { return; } var body = ea.Body; var message = Encoding.UTF8.GetString(body); _logger.LogInformation("Received command answer with correlation id {0}", ea.BasicProperties.CorrelationId); var commandResponse = new CommandResponseMessage(message, ea.BasicProperties.Type, ea.BasicProperties.CorrelationId); tcs.TrySetResult(commandResponse); }; _logger.LogInformation("Created response queue with name {0}", _replyQueueName); }
private static void ConfigureNijn(IServiceCollection services) { ILoggerFactory loggerFactory = new LoggerFactory(); loggerFactory.AddProvider( new ConsoleLoggerProvider( (text, logLevel) => logLevel >= LogLevel.Debug, true)); var connectionBuilder = new RabbitMQContextBuilder() .ReadFromEnvironmentVariables(); var nijnContext = connectionBuilder.CreateContext(); services.AddTransient <ICommandPublisher, CommandPublisher>(); services.AddTransient <IEventPublisher, EventPublisher>(); var builder = new MicroserviceHostBuilder() .SetLoggerFactory(loggerFactory) .RegisterDependencies(services) .WithContext(nijnContext) .UseConventions(); var host = builder.CreateHost(); host.CreateQueues(); host.StartListeningInOtherThread(); var logger = NijnLogger.CreateLogger <Program>(); logger.LogInformation("Started..."); }
public MicroserviceHost(IBusContext <IConnection> context, List <EventListener> eventListeners, List <CommandListener> commandListeners, IServiceCollection provider, Assembly callingAssembly, bool exitOnTimeout, TimeSpan timeout, bool dontPublishNewEvents) { Context = context; context.DontPublishEvents = dontPublishNewEvents; if (eventListeners == null) { eventListeners = new List <EventListener>(); } if (commandListeners == null) { commandListeners = new List <CommandListener>(); } _eventListeners = eventListeners; _commandListeners = commandListeners; _callingAssembly = callingAssembly; _exitOnTimeout = exitOnTimeout; _timeout = timeout; _dontPublishNewEvents = dontPublishNewEvents; _logger = NijnLogger.CreateLogger <MicroserviceHost>(); if (provider != null) { Provider = provider.BuildServiceProvider(); } }
private static void Main(string[] args) { var connectionString = Environment.GetEnvironmentVariable("SPRINTERDB"); var options = new DbContextOptionsBuilder <BeheerContext>() .UseNpgsql(connectionString) .Options; ILoggerFactory loggerFactory = new LoggerFactory(); loggerFactory.AddProvider( new ConsoleLoggerProvider( (text, logLevel) => logLevel >= LogLevel.Debug, true)); var connectionBuilder = new RabbitMQContextBuilder() .ReadFromEnvironmentVariables(); var nijnContext = connectionBuilder.CreateContext(); var services = new ServiceCollection(); services.AddTransient <ICommandPublisher, CommandPublisher>(); services.AddTransient <IEventPublisher, EventPublisher>(); services.AddSingleton <DbContextOptions>(options); services.AddTransient <BeheerContext, BeheerContext>(); services.AddTransient <IArtikelDatamapper, ArtikelDatamapper>(); services.AddTransient <IBestellingDatamapper, BestellingDatamapper>(); services.AddSingleton <IBusContext <IConnection> >(nijnContext); services.AddTransient <IKlantDatamapper, KlantDatamapper>(); var builder = new MicroserviceHostBuilder() .SetLoggerFactory(loggerFactory) .RegisterDependencies(services) .WithContext(nijnContext) .UseConventions(); var host = builder.CreateHost(); host.CreateQueues(); using (var context = new BeheerContext(options)) { context.Database.EnsureDeleted(); context.Database.EnsureCreated(); if (!context.Artikelen.Any()) { ScrapeAuditLog(nijnContext, services, DateTime.Now).Wait(); } } host.StartListeningInOtherThread(); var logger = NijnLogger.CreateLogger <Program>(); logger.LogInformation("Started..."); }
public BestellingListener(IBestellingDatamapper datamapper, IKlantDatamapper klantDatamapper, ICommandPublisher commandPublisher, IEventPublisher eventPublisher) { _datamapper = datamapper; _klantDatamapper = klantDatamapper; _commandPublisher = commandPublisher; _eventPublisher = eventPublisher; _logger = NijnLogger.CreateLogger <BestellingListener>(); }
public RabbitMQMessageReceiver(RabbitMQBusContext context, string queueName, IEnumerable <string> topicExpressions) { _log = NijnLogger.CreateLogger <RabbitMQMessageReceiver>(); QueueName = queueName; TopicExpressions = topicExpressions; Channel = context.Connection.CreateModel(); ExchangeName = context.ExchangeName; _listening = false; _queueDeclared = false; }
public CommandListener(MethodCommandInfo methodCommandInfo) { _methodCommandInfo = methodCommandInfo; QueueName = _methodCommandInfo.QueueName; _logger = NijnLogger.CreateLogger <CommandListener>(); }
public MicroserviceHostBuilder() { _log = NijnLogger.CreateLogger <MicroserviceHostBuilder>(); }
public RabbitMQContextBuilder() { _log = NijnLogger.CreateLogger <RabbitMQContextBuilder>(); }
public BestellingListener(IBestellingDatamapper datamapper) { _datamapper = datamapper; _logger = NijnLogger.CreateLogger <BestellingListener>(); }
public RabbitMQBusContext(IConnection connection, string exchangeName) { _log = NijnLogger.CreateLogger <RabbitMQBusContext>(); Connection = connection; ExchangeName = exchangeName; }
public AccountCommandListener(SignInManager <IdentityUser> signinManager, UserManager <IdentityUser> userManager) { _signinManager = signinManager; _userManager = userManager; _logger = NijnLogger.CreateLogger <AccountCommandListener>(); }
public CommandPublisher(IBusContext <IConnection> context) { Sender = context.CreateCommandSender(); _logger = NijnLogger.CreateLogger <CommandPublisher>(); }
public KlantListener(IKlantDatamapper datamapper, IEventPublisher eventPublisher) { _datamapper = datamapper; _eventPublisher = eventPublisher; _logger = NijnLogger.CreateLogger <KlantListener>(); }
public AuthenticatieController(ICommandPublisher commandPublisher) { _commandPublisher = commandPublisher; _logger = NijnLogger.CreateLogger <AuthenticatieController>(); }
public CommandPublisher(IBusContext <IConnection> context) { Sender = context.CreateCommandSender(); _logger = NijnLogger.CreateLogger <CommandPublisher>(); assembly = Assembly.GetEntryAssembly(); }
public MagazijnListener(IArtikelDatamapper datamapper) { _datamapper = datamapper; _logger = NijnLogger.CreateLogger <MagazijnListener>(); }
public RabbitMQCommandReceiver(RabbitMQBusContext context, string queueName) { _channel = context.Connection.CreateModel(); QueueName = queueName; _log = NijnLogger.CreateLogger <RabbitMQCommandReceiver>(); }
public RabbitMQMessageSender(RabbitMQBusContext context) { Channel = context.Connection.CreateModel(); ExchangeName = context.ExchangeName; _log = NijnLogger.CreateLogger <RabbitMQMessageSender>(); }
public BestellingenController(ICommandPublisher commandPublisher, IBestellingDatamapper datamapper) { _commandPublisher = commandPublisher; _datamapper = datamapper; _logger = NijnLogger.CreateLogger <BestellingenController>(); }