首页 > 解决方案 > 侦探没有传播跟踪 ID

问题描述

我在 Spring Boot 应用程序中使用 Spring Cloud Sleuth。

构建.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}"
    }
}

家庭控制器.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;
    }

}

现在,当我点击浏览器发送请求时,我想获取两个微服务中应该相同的跟踪 ID。

以下是当前微服务的日志。

INFO [HomeCont,b2a07f3e8f053b21,b2a07f3e8f053b21,false][0;39m [35m8524[0;39m

以下是http://localhost:8081/微服务的日志。

INFO [HomeLang,32b435aef0698cd6,32b435aef0698cd6,false] 10176

根据概念,b2a07f3e8f053b21应该和微服务中的 Trace Id 相同。

我在这里缺少什么?

标签: javaspringspring-bootspring-cloud-sleuth

解决方案


推荐阅读