在本地使用org.springframework.cloud:spring-cloud-gcp-starter-trace:1.0.0.RELEASE
和运行我的集成测试时,我收到以下错误消息:
org.springframework.beans.factory.BeanCreationException:在类路径资源[org/springframework/cloud/gcp/autoconfigure/trace/StackdriverTraceAutoConfiguration.class]中定义名称为“stackdriverSender”的bean创建错误:通过工厂方法进行的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
,但这似乎没有任何区别。