public Publisher(RabbitMqConfigOption option) : base(option)
 {
     //如果Exchange不为空,需设定模式
     if (option.ExchangeType == ExchangeType.Fanout || option.ExchangeType == ExchangeType.Direct)
     {
         ExchangeDeclare(option.Exchange, option.ExchangeType);
     }
     else
     {
         QueueDeclare(option.Topic);
     }
 }
示例#2
0
 public Subscriber(RabbitMqConfigOption option) : base(option)
 {
     //如果Exchange不为空,需设定模式
     if (option.ExchangeType == ExchangeType.Fanout || option.ExchangeType == ExchangeType.Direct)
     {
         ExchangeDeclare(option.Exchange, option.ExchangeType);
         QueueDeclare(option.Topic);
         QueueBind(option.Exchange, option.Topic, option.RouteKey);
     }
     else
     {
         QueueDeclare(option.Topic);
     }
 }
示例#3
0
 /// <summary>
 ///
 /// </summary>
 /// <param name="option">rabbitMQ的配置信息</param>
 protected Queue(RabbitMqConfigOption option)
 {
     Option            = option;
     ConnectionFactory = new ConnectionFactory
     {
         Uri = new Uri(option.ConnectionString),
         AutomaticRecoveryEnabled = true
     };
     Init();
     if (option.IsQueueDurable)
     {
         BasicProperties = Channel.CreateBasicProperties();
         BasicProperties.DeliveryMode = 2;
     }
 }