Example #1
0
 /// <summary>
 /// 发布消息
 /// </summary>
 /// <param name="messages">消息内容</param>
 /// <param name="confirm">是否采用发布确认机制</param>
 /// <param name="cancellationToken">取消令牌</param>
 /// <returns></returns>
 public async Task <bool> PublishAsync(List <MessageCarrier> messages, bool confirm = true, CancellationToken cancellationToken = default(CancellationToken))
 {
     using (var tracer = _tracerFactory.CreateTracer("AMQP"))
     {
         return(await EnqueueConfirm(Convert4MessageRequest(messages), true, cancellationToken));
     }
 }
Example #2
0
        public ITracer GetOrCreate(string tracerId)
        {
            var tryFixTraceId = TryFixTracerId(tracerId);

            if (!CachedTracers.ContainsKey(tryFixTraceId))
            {
                CachedTracers[tryFixTraceId] = Factory.CreateTracer(tryFixTraceId);
            }
            return(CachedTracers[tryFixTraceId]);
        }
Example #3
0
        public static ITracer GetOrCreate(this ITracerFactory tracerFactory, string tracerId)
        {
            var defaultTracerId = TryFixTracerId(tracerFactory, tracerId);
            var theTracerId     = string.IsNullOrWhiteSpace(tracerId) ? defaultTracerId : tracerId;

            if (!tracerFactory.CachedTracers.ContainsKey(theTracerId))
            {
                tracerFactory.CachedTracers[theTracerId] = tracerFactory.CreateTracer(theTracerId);
            }
            return(tracerFactory.CachedTracers[theTracerId]);
        }