Skip to content

Commit 336fdff

Browse files
thecooldropmhalbritter
authored andcommitted
Remove support for URLConnectionSender
See gh-44500 Signed-off-by: Vanio Begic <vanio.begic123@gmail.com>
1 parent af8defd commit 336fdff

File tree

4 files changed

+18
-55
lines changed

4 files changed

+18
-55
lines changed

spring-boot-project/spring-boot-actuator-autoconfigure/build.gradle

Lines changed: 0 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -58,7 +58,6 @@ dependencies {
5858
optional("io.micrometer:micrometer-registry-statsd")
5959
optional("io.micrometer:micrometer-registry-wavefront")
6060
optional("io.zipkin.reporter2:zipkin-reporter-brave")
61-
optional("io.zipkin.reporter2:zipkin-sender-urlconnection")
6261
optional("io.opentelemetry:opentelemetry-exporter-zipkin")
6362
optional("io.opentelemetry:opentelemetry-exporter-otlp")
6463
optional("io.projectreactor.netty:reactor-netty-http")

spring-boot-project/spring-boot-actuator-autoconfigure/src/main/java/org/springframework/boot/actuate/autoconfigure/tracing/zipkin/ZipkinConfigurations.java

Lines changed: 1 addition & 27 deletions
Original file line numberDiff line numberDiff line change
@@ -32,7 +32,6 @@
3232
import zipkin2.reporter.SpanBytesEncoder;
3333
import zipkin2.reporter.brave.AsyncZipkinSpanHandler;
3434
import zipkin2.reporter.brave.MutableSpanBytesEncoder;
35-
import zipkin2.reporter.urlconnection.URLConnectionSender;
3635

3736
import org.springframework.beans.factory.ObjectProvider;
3837
import org.springframework.boot.actuate.autoconfigure.tracing.ConditionalOnEnabledTracing;
@@ -54,7 +53,7 @@
5453
class ZipkinConfigurations {
5554

5655
@Configuration(proxyBeanMethods = false)
57-
@Import({ HttpClientSenderConfiguration.class, UrlConnectionSenderConfiguration.class })
56+
@Import({ HttpClientSenderConfiguration.class })
5857
static class SenderConfiguration {
5958

6059
}
@@ -82,31 +81,6 @@ ZipkinHttpClientSender httpClientSender(ZipkinProperties properties, Encoding en
8281

8382
}
8483

85-
@Configuration(proxyBeanMethods = false)
86-
@ConditionalOnClass(URLConnectionSender.class)
87-
@EnableConfigurationProperties(ZipkinProperties.class)
88-
static class UrlConnectionSenderConfiguration {
89-
90-
@Bean
91-
@ConditionalOnMissingBean(BytesMessageSender.class)
92-
URLConnectionSender urlConnectionSender(ZipkinProperties properties, Encoding encoding,
93-
ObjectProvider<ZipkinConnectionDetails> connectionDetailsProvider,
94-
ObjectProvider<HttpEndpointSupplier.Factory> endpointSupplierFactoryProvider) {
95-
ZipkinConnectionDetails connectionDetails = connectionDetailsProvider
96-
.getIfAvailable(() -> new PropertiesZipkinConnectionDetails(properties));
97-
HttpEndpointSupplier.Factory endpointSupplierFactory = endpointSupplierFactoryProvider
98-
.getIfAvailable(HttpEndpointSuppliers::constantFactory);
99-
URLConnectionSender.Builder builder = URLConnectionSender.newBuilder();
100-
builder.connectTimeout((int) properties.getConnectTimeout().toMillis());
101-
builder.readTimeout((int) properties.getReadTimeout().toMillis());
102-
builder.endpointSupplierFactory(endpointSupplierFactory);
103-
builder.endpoint(connectionDetails.getSpanEndpoint());
104-
builder.encoding(encoding);
105-
return builder.build();
106-
}
107-
108-
}
109-
11084
@Configuration(proxyBeanMethods = false)
11185
@ConditionalOnClass(AsyncZipkinSpanHandler.class)
11286
static class BraveConfiguration {

spring-boot-project/spring-boot-actuator-autoconfigure/src/test/java/org/springframework/boot/actuate/autoconfigure/tracing/zipkin/ZipkinAutoConfigurationIntegrationTests.java

Lines changed: 4 additions & 8 deletions
Original file line numberDiff line numberDiff line change
@@ -17,7 +17,6 @@
1717
package org.springframework.boot.actuate.autoconfigure.tracing.zipkin;
1818

1919
import org.junit.jupiter.api.Test;
20-
import zipkin2.reporter.urlconnection.URLConnectionSender;
2120

2221
import org.springframework.boot.actuate.autoconfigure.metrics.MetricsAutoConfiguration;
2322
import org.springframework.boot.actuate.autoconfigure.metrics.export.simple.SimpleMetricsExportAutoConfiguration;
@@ -28,7 +27,6 @@
2827
import org.springframework.boot.autoconfigure.AutoConfigurations;
2928
import org.springframework.boot.autoconfigure.web.client.RestTemplateAutoConfiguration;
3029
import org.springframework.boot.autoconfigure.web.reactive.function.client.WebClientAutoConfiguration;
31-
import org.springframework.boot.test.context.FilteredClassLoader;
3230
import org.springframework.boot.test.context.assertj.ApplicationContextAssertProvider;
3331
import org.springframework.boot.test.context.runner.AbstractApplicationContextRunner;
3432
import org.springframework.boot.test.context.runner.ReactiveWebApplicationContextRunner;
@@ -61,12 +59,10 @@ void zipkinsUseOfWebClientDoesNotCauseACycle() {
6159

6260
<SELF extends AbstractApplicationContextRunner<SELF, C, A>, C extends ConfigurableApplicationContext, A extends ApplicationContextAssertProvider<C>> AbstractApplicationContextRunner<SELF, C, A> configure(
6361
AbstractApplicationContextRunner<SELF, ?, ?> runner) {
64-
return runner
65-
.withConfiguration(AutoConfigurations.of(MicrometerTracingAutoConfiguration.class,
66-
ObservationAutoConfiguration.class, BraveAutoConfiguration.class, ZipkinAutoConfiguration.class,
67-
HttpClientObservationsAutoConfiguration.class, MetricsAutoConfiguration.class,
68-
SimpleMetricsExportAutoConfiguration.class))
69-
.withClassLoader(new FilteredClassLoader(URLConnectionSender.class));
62+
return runner.withConfiguration(AutoConfigurations.of(MicrometerTracingAutoConfiguration.class,
63+
ObservationAutoConfiguration.class, BraveAutoConfiguration.class, ZipkinAutoConfiguration.class,
64+
HttpClientObservationsAutoConfiguration.class, MetricsAutoConfiguration.class,
65+
SimpleMetricsExportAutoConfiguration.class));
7066
}
7167

7268
}

spring-boot-project/spring-boot-actuator-autoconfigure/src/test/java/org/springframework/boot/actuate/autoconfigure/tracing/zipkin/ZipkinConfigurationsSenderConfigurationTests.java

Lines changed: 13 additions & 19 deletions
Original file line numberDiff line numberDiff line change
@@ -21,10 +21,8 @@
2121
import org.junit.jupiter.api.Test;
2222
import zipkin2.reporter.BytesMessageSender;
2323
import zipkin2.reporter.HttpEndpointSupplier;
24-
import zipkin2.reporter.urlconnection.URLConnectionSender;
25-
24+
import org.springframework.boot.actuate.autoconfigure.tracing.zipkin.ZipkinConfigurations.HttpClientSenderConfiguration;
2625
import org.springframework.boot.actuate.autoconfigure.tracing.zipkin.ZipkinConfigurations.SenderConfiguration;
27-
import org.springframework.boot.actuate.autoconfigure.tracing.zipkin.ZipkinConfigurations.UrlConnectionSenderConfiguration;
2826
import org.springframework.boot.autoconfigure.AutoConfigurations;
2927
import org.springframework.boot.test.context.FilteredClassLoader;
3028
import org.springframework.boot.test.context.runner.ApplicationContextRunner;
@@ -44,26 +42,23 @@
4442
class ZipkinConfigurationsSenderConfigurationTests {
4543

4644
private final ApplicationContextRunner contextRunner = new ApplicationContextRunner()
47-
.withConfiguration(AutoConfigurations.of(DefaultEncodingConfiguration.class, SenderConfiguration.class));
45+
.withConfiguration(AutoConfigurations.of(DefaultEncodingConfiguration.class, SenderConfiguration.class));
4846

4947
@Test
5048
void shouldSupplyDefaultHttpClientSenderBean() {
5149
this.contextRunner.run((context) -> {
5250
assertThat(context).hasSingleBean(BytesMessageSender.class);
5351
assertThat(context).hasSingleBean(ZipkinHttpClientSender.class);
54-
assertThat(context).doesNotHaveBean(URLConnectionSender.class);
5552
});
5653
}
5754

5855
@Test
59-
void shouldUseUrlConnectionSenderIfHttpClientIsNotAvailable() {
60-
this.contextRunner.withUserConfiguration(UrlConnectionSenderConfiguration.class)
61-
.withClassLoader(new FilteredClassLoader(HttpClient.class))
62-
.run((context) -> {
63-
assertThat(context).doesNotHaveBean(ZipkinHttpClientSender.class);
64-
assertThat(context).hasSingleBean(BytesMessageSender.class);
65-
assertThat(context).hasSingleBean(URLConnectionSender.class);
66-
});
56+
void shouldNotProvideHttpClientSenderIfHttpClientIsNotAvailable() {
57+
this.contextRunner.withUserConfiguration(HttpClientSenderConfiguration.class)
58+
.withClassLoader(new FilteredClassLoader(HttpClient.class))
59+
.run((context) -> {
60+
assertThat(context).doesNotHaveBean(ZipkinHttpClientSender.class);
61+
});
6762
}
6863

6964
@Test
@@ -77,12 +72,11 @@ void shouldBackOffOnCustomBeans() {
7772
@Test
7873
void shouldUseCustomHttpEndpointSupplierFactory() {
7974
this.contextRunner.withUserConfiguration(CustomHttpEndpointSupplierFactoryConfiguration.class)
80-
.withClassLoader(new FilteredClassLoader(HttpClient.class))
81-
.run((context) -> {
82-
URLConnectionSender urlConnectionSender = context.getBean(URLConnectionSender.class);
83-
assertThat(urlConnectionSender).extracting("delegate.endpointSupplier")
84-
.isInstanceOf(CustomHttpEndpointSupplier.class);
85-
});
75+
.run((context) -> {
76+
ZipkinHttpClientSender httpClientSender = context.getBean(ZipkinHttpClientSender.class);
77+
assertThat(httpClientSender).extracting("endpointSupplier")
78+
.isInstanceOf(CustomHttpEndpointSupplier.class);
79+
});
8680
}
8781

8882
@Configuration(proxyBeanMethods = false)

0 commit comments

Comments
 (0)