java - 侦探没有传播跟踪 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 相同。
我在这里缺少什么?
解决方案
推荐阅读
- ssms - SSMS 错误 0x80070643
- node.js - NodeJS TLS 主机名/IP 与证书的替代名称不匹配
- php - HTTP curl 失败 403 但 Guzzle 成功
- c# - 简单等到后台进程结束 C#
- android - 如何从 /storage/emulated/0 访问文件列表
- antlr - ANTLRInputStream 和 ANTLRFileStream 已被弃用,有什么替代方案?
- qt - QML 文本中的多种字体类型
- java - 我应该将 bean 定义放在 Spring MVC 项目中的哪里?
- c# - C# wpf 搜索文本并在使用滚动视图虚拟化堆栈面板中查找下一个功能
- javascript - 在触发 Dom 事件之前更新 React 组件(onBlur 和 onClick)