private async Task Setup() { var rootOperationScopeProvider = new OperationScopeProvider(); //_busBroker = new InProcAsyncBusBroker(LoggerFactory.CreateLogger("QX.Zoo.InProcAsyncBus"), rootOperationScopeProvider); _busBroker = new RabbitMQBroker(Configuration.GetValue <RabbitMQConfiguration>("rabbitmq"), rootOperationScopeProvider, LoggerFactory.CreateLogger("QX.Zoo.InProcAsyncBus")); var factoryId = SequentialGuidGenerator.GetOrCreateGenerator <Citizen>().NewGuid(); var maxVersionNumber = StaticCitizensWarehouse.Version; var warehouse = new WarehouseActor <Citizen>(StaticCitizensWarehouse.ExternalLoader, LoggerFactory.CreateLogger("QX.Zoo.Warehouse")); _instance1 = new AccumulatingFactory <Citizen>(factoryId, 1, maxVersionNumber, b => b.GetEntity("exchange/zoo"), x => LoggerFactory.CreateLogger(x?.ToString())); _instance2 = new AccumulatingFactory <Citizen>(factoryId, 2, maxVersionNumber, b => b.GetEntity("exchange/zoo"), x => LoggerFactory.CreateLogger(x?.ToString())); _instance3 = new AccumulatingFactory <Citizen>(factoryId, 3, maxVersionNumber, b => b.GetEntity("exchange/zoo"), x => LoggerFactory.CreateLogger(x?.ToString())); await _instance1.StartAsync(_busBroker); await _instance2.StartAsync(_busBroker); await _instance3.StartAsync(_busBroker); }
public StatelessServiceFabricHost(StatelessServiceContext serviceContext) : base(serviceContext) { _serviceContext = serviceContext; _loggerFactory = new LoggerFactory().AddConsole(); _log = _loggerFactory.CreateLogger("StatelessService"); _log.LogTrace("StatelessServiceFabricHost .ctor"); _config = serviceContext.CodePackageActivationContext.GetConfigurationPackageObject("Config").Settings; if (_config == null) { throw new ArgumentException("Configuration package 'Config' not found"); } var rmqConfig = _config.Sections["RabbitMQ"]; if (rmqConfig == null) { throw new ArgumentException("Configuration section 'RabbitMQ' not found"); } var rabbitConfig = new RabbitMQConfiguration { HostNames = rmqConfig.Parameters["hostnames"]?.Value?.Split(';').ToList(), UserName = rmqConfig.Parameters["userName"]?.Value, Password = rmqConfig.Parameters["password"]?.Value, Port = int.Parse(rmqConfig.Parameters["port"]?.Value ?? "5672") }; _asyncBusBroker = new RabbitMQBroker(rabbitConfig, new OperationScopeProvider(), _loggerFactory.CreateLogger("RabbitMQ")); //var warehouse = new WarehouseActor<Citizen>(StaticCitizensWarehouse.ExternalLoader, _loggerFactory.CreateLogger("Warehouse")); _instance = new AccumulatingFactory <Citizen>( SequentialGuidGenerator.GetOrCreateGenerator <Citizen>().NewGuid(), 1, StaticCitizensWarehouse.Version, b => b.GetEntity("exchange/zoo"), x => _loggerFactory.CreateLogger(x?.ToString())); }