@Override public void put(final String key, final String value) { getDeliveryAnnotations().getValue().put(Symbol.getSymbol(key), value); }
currentSpan.log(details); final TriTuple<Handler<AsyncResult<R>>, Object, Span> handler = TriTuple.of(resultHandler, cacheKey, currentSpan); tracer.inject(currentSpan.context(), Format.Builtin.TEXT_MAP, new MessageAnnotationsInjectAdapter(request)); replyMap.put(correlationId, handler);
@Override public final Future<ProtonDelivery> send(final Message rawMessage, final SpanContext parent) { Objects.requireNonNull(rawMessage); if (!isRegistrationAssertionRequired()) { MessageHelper.getAndRemoveRegistrationAssertion(rawMessage); } final Span span = startSpan(parent, rawMessage); Tags.MESSAGE_BUS_DESTINATION.set(span, targetAddress); span.setTag(MessageHelper.APP_PROPERTY_TENANT_ID, tenantId); span.setTag(MessageHelper.APP_PROPERTY_DEVICE_ID, MessageHelper.getDeviceId(rawMessage)); tracer.inject(span.context(), Format.Builtin.TEXT_MAP, new MessageAnnotationsInjectAdapter(rawMessage)); return executeOrRunOnContext(result -> { if (sender.sendQueueFull()) { final ServiceInvocationException e = new ServerErrorException(HttpURLConnection.HTTP_UNAVAILABLE, "no credit available"); logError(span, e); span.finish(); result.fail(e); } else { sendMessage(rawMessage, span).setHandler(result.completer()); } }); }
/** * {@inheritDoc} */ @Override public Future<ProtonDelivery> sendAndWaitForOutcome(final Message rawMessage, final SpanContext parent) { Objects.requireNonNull(rawMessage); // we create a child span (instead of a following span) because we depend // on the outcome of the sending operation final Span span = startChildSpan(parent, rawMessage); Tags.MESSAGE_BUS_DESTINATION.set(span, targetAddress); span.setTag(MessageHelper.APP_PROPERTY_TENANT_ID, tenantId); span.setTag(MessageHelper.APP_PROPERTY_DEVICE_ID, MessageHelper.getDeviceId(rawMessage)); tracer.inject(span.context(), Format.Builtin.TEXT_MAP, new MessageAnnotationsInjectAdapter(rawMessage)); if (!isRegistrationAssertionRequired()) { MessageHelper.getAndRemoveRegistrationAssertion(rawMessage); } return executeOrRunOnContext(result -> { if (sender.sendQueueFull()) { final ServiceInvocationException e = new ServerErrorException(HttpURLConnection.HTTP_UNAVAILABLE, "no credit available"); logError(span, e); span.finish(); result.fail(e); } else { sendMessageAndWaitForOutcome(rawMessage, span).setHandler(result.completer()); } }); }
@Override public void put(final String key, final String value) { getDeliveryAnnotations().getValue().put(Symbol.getSymbol(key), value); }