public IMessageBusSpecifier DeclareExchange(string exchangeName, ExchangeTypes exchangeType) { var rep = DataRepositoryServiceFactory.CreateSimple <MessageExchangeDeclaration>(); rep.CreateNew(new MessageExchangeDeclaration { Name = exchangeName, Type = exchangeType }); return(this); }
public IExchangeSpecifier SpecifyExchange(string exchangeName) { var rep = DataRepositoryServiceFactory.CreateSimple <MessageExchangeDeclaration>(); var ex = rep.Load(exchangeName); if (null != ex) { return(new ExchangeTopologySpecifier(this, ex.Item)); } return(null); }
public IMessageBusSpecifier DeleteExchange(string exchangeName) { var rep = DataRepositoryServiceFactory.CreateSimple <MessageExchangeDeclaration>(); var ex = rep.Load(exchangeName); if (null != ex) { rep.Delete(ex.Item); } return(this); }
public IExchangeSpecifier DeclareQueue(string queueName, params string[] boundRoutes) { var rep = DataRepositoryServiceFactory.CreateSimple <MessageExchangeDeclaration>(); _exchangeDeclaration = rep.Load(_exchangeDeclaration.Name).Item; if (null != _exchangeDeclaration) { if (!_exchangeDeclaration.Queues.Any(q => q.Name == queueName)) { var mqd = new MessageQueueDeclaration { Name = queueName, Bindings = boundRoutes.ToList() }; _exchangeDeclaration.Queues.Add(mqd); rep.Update(_exchangeDeclaration); } } return(this); }
public IExchangeSpecifier DeleteQueue(string queueName) { var rep = DataRepositoryServiceFactory.CreateSimple <MessageExchangeDeclaration>(); var qrep = DataRepositoryServiceFactory.CreateSimple <MessageQueueDeclaration>(); _exchangeDeclaration = rep.Load(_exchangeDeclaration.Name).Item; if (null != _exchangeDeclaration) { var q = _exchangeDeclaration.Queues.FirstOrDefault(tq => tq.Name == queueName); if (null != q) { _exchangeDeclaration.Queues.Remove(q); rep.Update(_exchangeDeclaration); qrep.Delete(q); } } // todo: rabbit delete exchange return(this); }