public bool PutLogistics(Able.Store.Model.OrdersDomain.Order order) { var option = new RabbitProductOption { AutoDelete = true, Exclusive = false, Durable = false, PublishMethod = PublishMethod.简单工作队列, AutoAck = true, RoutingKey = "queue.direct.undurable.placeorder", QueueNameOption = new RabbitQueueNameOption() }; option.QueueNameOption.Add("queue.direct.undurable.placeorder"); var body = LogisticsRequestFactory.CreatePlaceOrder(order); RabbitRequest request = new RabbitRequest(); request.Header = new RabbitRequestHeader { BusinessId = order.Id.ToString(), BusinessName = PUTLOGISTICS, Module = MODULE, PublishMethod = PublishMethod.简单工作队列, }; request.Body = LockInventoryItemBody.ToBodys(order.Items); request.CacheDbIndex = OrderStaticResource.DBINDEX; _controller.Push(request, option); return(true); }
public void PublisSystemException(string actionName, int controllerHashCode, string controllerName, Exception exception) { RabbitProductController controller = AutofacHelper.Resolver <RabbitProductController>(); var request = new RabbitRequest { Body = exception, Header = new RabbitRequestHeader { BusinessId = string.Concat(actionName, controllerHashCode), BusinessName = actionName, Module = controllerName, }, AllowDuplicatePublishing = true }; var productOption = new RabbitProductOption { AutoDelete = true, Durable = false, PublishMethod = PublishMethod.发布订阅, Exclusive = false, ExchangeOption = new RabbitExchangeOption { AutoDelete = true, Durable = false, ChangeType = ChangeType.Fanout, ExchangeName = "exception.nodurable.fanout", Exclusive = false }, AutoAck = true, QueueNameOption = new RabbitQueueNameOption() }; //通知系统 productOption.QueueNameOption.Add("exception.nodurable.fanout.notifysys"); //日志系统 productOption.QueueNameOption.Add("exception.nodurable.fanout.logsys"); controller.Push(request, productOption); }