Я использую весеннюю загрузку 2 с зависимостью как:
<dependency>
<groupId>org.springframework.cloud</groupId>
<artifactId>spring-cloud-starter-sleuth</artifactId>
</dependency>
<dependency>
<groupId>org.springframework.cloud</groupId>
<artifactId>spring-cloud-sleuth-zipkin</artifactId>
</dependency>
Мой проект - приложение на основе jms, которое получает сообщение из очереди TIBCO, обрабатывает его, а затем отвечает обратно в ту же очередь.
@JmsListener(destination = "${tibco.queue.name}")
public String onMessage(final String xmlRequest) {
}
Запрос получен в форме XML, которая содержит ServiceCorrelationID в заголовке. Содержимое внутри ServiceCorrelationID содержит B3SingleFormat для идентификатора трассы и интервала, который уже создан другим проектом.
<?xml version="1.0" encoding="UTF-8"?>
<ns0:Request>
<ns0:Header>
<ns1:TimeStamp>2019-04-16T11:52:49.465+02:00</ns1:TimeStamp>
<ns1:ServiceCorrelationID>bf400f92570e67e4-c76a5a539bfd40f4-1-bf400f92570e67e4</ns1:ServiceCorrelationID>
</ns0:Header>
<ns0:Payload>
</ns0:Payload>
</ns0:Request>
Требование:
Каково требование не генерировать новый диапазон и отслеживать его, а использовать данные, поступающие в ServiceCorrelationID, а изменять только идентификатор диапазона. Входящий промежуток станет родительским идентификатором. то есть:
incoming: bf400f92570e67e4-c76a5a539bfd40f4-1-bf400f92570e67e4
to be generated: bf400f92570e67e4-generateNewSpan-1-c76a5a539bfd40f4
Как я могу настроить сгенерированный промежуток для удовлетворения моих требований?