Я использую загрузочное приложение Spring cloud Sleuth в Spring.
build.gradle
buildscript {
ext {
springBootVersion = '2.0.0.RELEASE'
}
repositories {
mavenCentral()
}
dependencies {
classpath("org.springframework.boot:spring-boot-gradle-plugin:${springBootVersion}")
}
}
apply plugin: 'java'
apply plugin: 'eclipse'
apply plugin: 'org.springframework.boot'
apply plugin: 'io.spring.dependency-management'
group = 'com.example'
version = '0.0.1-SNAPSHOT'
sourceCompatibility = 1.8
repositories {
mavenCentral()
maven { url "https://repo.spring.io/milestone" }
}
ext {
springCloudVersion = 'Finchley.M8'
}
dependencies {
compile('org.springframework.cloud:spring-cloud-sleuth-core')
compile('org.springframework.cloud:spring-cloud-sleuth-zipkin')
compile('org.springframework.boot:spring-boot-starter-data-jpa')
compile('org.springframework.boot:spring-boot-starter-web')
compile('org.springframework.cloud:spring-cloud-starter-config')
runtime('mysql:mysql-connector-java')
}
dependencyManagement {
imports {
mavenBom "org.springframework.cloud:spring-cloud-dependencies:${springCloudVersion}"
}
}
HomeController.java
import org.slf4j.Logger;
import org.slf4j.LoggerFactory;
@RestController
public class HomeController {
@Bean
public RestTemplate template() {
return new RestTemplate();
}
@Autowired
private RestTemplate template;
@Autowired
private LanguageService languageService;
private static final Logger LOG = LoggerFactory.getLogger(HomeController.class);
@GetMapping(value="/{Id}")
public Language getDetails(@PathVariable("Id") Integer Id) {
LOG.info("Getting Details..");
Language language = languageService.getLanguage(Id);
SubLang SubLang = template.getForObject("http://localhost:8081/"+Id, SubLang.class);
language.setSubLang(SubLang);
return language;
}
}
Теперь, когда я нажимаюв браузере для отправки запроса я хочу получить идентификатор трассировки, который должен быть одинаковым в обоих микро-сервисах.
Ниже приведен журнал для текущего микро-сервиса.
INFO [HomeCont,b2a07f3e8f053b21,b2a07f3e8f053b21,false][0;39m [35m8524[0;39m
Нижеявляется журналом для http://localhost:8081/ микро-сервиса.
INFO [HomeLang,32b435aef0698cd6,32b435aef0698cd6,false] 10176
В соответствии с концепцией, b2a07f3e8f053b21
должен быть таким же, как Trace Id в обоих микро-сервисах.
Что мне здесь не хватает?