Skip to content

Commit ccd8612

Browse files
wilkinsonaphilwebb
authored andcommitted
Make BytesEncoder back off without an Encoding bean
1 parent 9a02dce commit ccd8612

File tree

2 files changed

+10
-0
lines changed

2 files changed

+10
-0
lines changed

spring-boot-project/spring-boot-tracing/src/main/java/org/springframework/boot/tracing/autoconfigure/zipkin/ZipkinTracingAutoConfiguration.java

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -83,6 +83,7 @@ AsyncZipkinSpanHandler asyncZipkinSpanHandler(BytesMessageSender sender,
8383
static class OpenTelemetryConfiguration {
8484

8585
@Bean
86+
@ConditionalOnBean(Encoding.class)
8687
@ConditionalOnMissingBean(value = Span.class, parameterizedContainer = BytesEncoder.class)
8788
BytesEncoder<Span> spanBytesEncoder(Encoding encoding) {
8889
return SpanBytesEncoder.forEncoding(encoding);

spring-boot-project/spring-boot-tracing/src/test/java/org/springframework/boot/tracing/autoconfigure/zipkin/ZipkinConfigurationsOpenTelemetryConfigurationTests.java

Lines changed: 9 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -42,6 +42,15 @@ class ZipkinConfigurationsOpenTelemetryConfigurationTests {
4242
private final ApplicationContextRunner contextRunner = new ApplicationContextRunner()
4343
.withConfiguration(AutoConfigurations.of(DefaultEncodingConfiguration.class, OpenTelemetryConfiguration.class));
4444

45+
@Test
46+
void backsOffWithoutEncoding() {
47+
new ApplicationContextRunner().withUserConfiguration(OpenTelemetryConfiguration.class).run((context) -> {
48+
assertThat(context).hasNotFailed();
49+
assertThat(context).doesNotHaveBean(ZipkinSpanExporter.class);
50+
assertThat(context).doesNotHaveBean(BytesEncoder.class);
51+
});
52+
}
53+
4554
@Test
4655
void shouldSupplyBeans() {
4756
this.contextRunner.withUserConfiguration(SenderConfiguration.class, CustomEncoderConfiguration.class)

0 commit comments

Comments
 (0)