Sleuth не распространяющий след Id - PullRequest
0 голосов
/ 09 июня 2018

Я использую загрузочное приложение 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 в обоих микро-сервисах.

Что мне здесь не хватает?

...