在运行集成测试时禁用 Spring Cloud Sleuth?

org.springframework.cloud:spring-cloud-gcp-starter-trace:1.0.0.RELEASE本地使用和运行我的集成测试时,我收到此错误消息:

org.springframework.beans.factory.BeanCreationException:创建名为“stackdriverSender”的 bean 在类路径资源 [org/springframework/cloud/gcp/autoconfigure/trace/StackdriverTraceAutoConfiguration.class] 中定义时出错:通过工厂方法的 Bean 实例化失败;嵌套异常是 org.springframework.beans.BeanInstantiationException:无法实例化 [zipkin2.reporter.Sender]:工厂方法“stackdriverSender”抛出异常;嵌套异常是 java.io.IOException:应用程序默认凭据不可用。如果在 Google Compute Engine 中运行,它们就可用。否则,必须定义环境变量 GOOGLE_APPLICATION_CREDENTIALS 指向定义凭据的文件。看 https://developers.google.com/accounts/docs/application-default-credentials 了解更多信息。

这是完全可以理解的,因为这个环境变量在本地不存在,而且我不想在运行测试时使用 Sleuth/Stackdriver 跟踪。我查看了参考文档,但似乎只能找到有关如何为特定集成点(例如 RxJava、RestTemplate 等)禁用 Sleuth 的信息。但是我如何才能完全禁用 Sleuth?

我试过设置,spring.sleuth.enabled=false但这似乎没有任何区别。


动漫人物
浏览 220回答 2
2回答

www说

其实,我通过观察找到了答案来源为StackdriverTraceAutoConfiguration类。如果使用 GCP 解决它的方法是设置spring.cloud.gcp.trace.enabled=false. 这将禁用对所有集成点的跟踪。
打开App,查看更多内容
随时随地看视频慕课网APP

相关分类

Java