/// <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)); } }
public ITracer GetOrCreate(string tracerId) { var tryFixTraceId = TryFixTracerId(tracerId); if (!CachedTracers.ContainsKey(tryFixTraceId)) { CachedTracers[tryFixTraceId] = Factory.CreateTracer(tryFixTraceId); } return(CachedTracers[tryFixTraceId]); }
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]); }