コード例 #1
0
        /// <summary>
        /// 获取交换机名、路由名、队列名
        /// </summary>
        /// <param name="businessName">RabbitMq业务名称</param>
        /// <returns></returns>

        private static Tuple <string, string, string> Get(string businessName)
        {
            businessName = string.IsNullOrEmpty(businessName) ? "DefaultBusiness" : businessName.Trim('.');
            if (_rabbitMqHelper == null)
            {
                _rabbitMqHelper = new RabbitMqHelper();
            }
            if (_cdic == null)
            {
                _cdic = new ConcurrentDictionary <string, Tuple <string, string, string> >();
            }
            if (_cdic.ContainsKey(businessName))
            {
                return(_cdic[businessName]);
            }
            var exchangeName = $"{businessName}.Exchange";
            var routingKey   = $"{businessName}.RoutingKey";
            var queueName    = $"{businessName}.Queue";

            //申明交换机
            _rabbitMqHelper.ExchangeDeclare(exchangeName);
            //申明队列
            _rabbitMqHelper.QueueDeclare(queueName);
            //绑定
            _rabbitMqHelper.QueueBind(queueName, exchangeName, routingKey);
            var tuple = new Tuple <string, string, string>(exchangeName, routingKey, queueName);

            _cdic.TryAdd(businessName, tuple);
            return(tuple);
        }
コード例 #2
0
        /// <summary>
        /// 注册
        /// </summary>
        public static void Register()
        {
            var rabbitMqClient = new RabbitMqClient(RabbitMqConfig.RabbitMqSetting);

            //初始化 RabbitMqHelper
            RabbitMqHelper.Initialization(rabbitMqClient);
        }
コード例 #3
0
 /// <summary>
 /// 注册
 /// </summary>
 /// <param name="rabbitMqClient">rabbitMqClient</param>
 public static void Register(RabbitMqClient rabbitMqClient)
 {
     //初始化 RabbitMqHelper
     RabbitMqHelper.Initialization(rabbitMqClient);;
 }