Make BytesEncoder back off without an Encoding bean
Issue: 46153
This commit is contained in:
		
							parent
							
								
									da03d91ce8
								
							
						
					
					
						commit
						dd08a1b3d1
					
				| 
						 | 
					@ -83,6 +83,7 @@ public class ZipkinTracingAutoConfiguration {
 | 
				
			||||||
	static class OpenTelemetryConfiguration {
 | 
						static class OpenTelemetryConfiguration {
 | 
				
			||||||
 | 
					
 | 
				
			||||||
		@Bean
 | 
							@Bean
 | 
				
			||||||
 | 
							@ConditionalOnBean(Encoding.class)
 | 
				
			||||||
		@ConditionalOnMissingBean(value = Span.class, parameterizedContainer = BytesEncoder.class)
 | 
							@ConditionalOnMissingBean(value = Span.class, parameterizedContainer = BytesEncoder.class)
 | 
				
			||||||
		BytesEncoder<Span> spanBytesEncoder(Encoding encoding) {
 | 
							BytesEncoder<Span> spanBytesEncoder(Encoding encoding) {
 | 
				
			||||||
			return SpanBytesEncoder.forEncoding(encoding);
 | 
								return SpanBytesEncoder.forEncoding(encoding);
 | 
				
			||||||
| 
						 | 
					
 | 
				
			||||||
| 
						 | 
					@ -42,6 +42,15 @@ class ZipkinConfigurationsOpenTelemetryConfigurationTests {
 | 
				
			||||||
	private final ApplicationContextRunner contextRunner = new ApplicationContextRunner()
 | 
						private final ApplicationContextRunner contextRunner = new ApplicationContextRunner()
 | 
				
			||||||
		.withConfiguration(AutoConfigurations.of(DefaultEncodingConfiguration.class, OpenTelemetryConfiguration.class));
 | 
							.withConfiguration(AutoConfigurations.of(DefaultEncodingConfiguration.class, OpenTelemetryConfiguration.class));
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
						@Test
 | 
				
			||||||
 | 
						void backsOffWithoutEncoding() {
 | 
				
			||||||
 | 
							new ApplicationContextRunner().withUserConfiguration(OpenTelemetryConfiguration.class).run((context) -> {
 | 
				
			||||||
 | 
								assertThat(context).hasNotFailed();
 | 
				
			||||||
 | 
								assertThat(context).doesNotHaveBean(ZipkinSpanExporter.class);
 | 
				
			||||||
 | 
								assertThat(context).doesNotHaveBean(BytesEncoder.class);
 | 
				
			||||||
 | 
							});
 | 
				
			||||||
 | 
						}
 | 
				
			||||||
 | 
					
 | 
				
			||||||
	@Test
 | 
						@Test
 | 
				
			||||||
	void shouldSupplyBeans() {
 | 
						void shouldSupplyBeans() {
 | 
				
			||||||
		this.contextRunner.withUserConfiguration(SenderConfiguration.class, CustomEncoderConfiguration.class)
 | 
							this.contextRunner.withUserConfiguration(SenderConfiguration.class, CustomEncoderConfiguration.class)
 | 
				
			||||||
| 
						 | 
					
 | 
				
			||||||
		Loading…
	
		Reference in New Issue