Skip to content

Commit ac9c003

Browse files
committed
Merge pull request spring-projects#14886 from Artsiom Yudovin
* spring-projectsgh-14886: Polish "Handle StepRegistry connect/read timeout deprecation" Handle StepRegistry connect/read timeout deprecation
2 parents a984453 + 290e888 commit ac9c003

File tree

12 files changed

+143
-64
lines changed

12 files changed

+143
-64
lines changed

spring-boot-project/spring-boot-actuator-autoconfigure/src/main/java/org/springframework/boot/actuate/autoconfigure/metrics/export/appoptics/AppOpticsMetricsExportAutoConfiguration.java

+15-3
Original file line numberDiff line numberDiff line change
@@ -19,6 +19,7 @@
1919
import io.micrometer.appoptics.AppOpticsConfig;
2020
import io.micrometer.appoptics.AppOpticsMeterRegistry;
2121
import io.micrometer.core.instrument.Clock;
22+
import io.micrometer.core.ipc.http.HttpUrlConnectionSender;
2223

2324
import org.springframework.boot.actuate.autoconfigure.metrics.CompositeMeterRegistryAutoConfiguration;
2425
import org.springframework.boot.actuate.autoconfigure.metrics.MetricsAutoConfiguration;
@@ -38,6 +39,7 @@
3839
* {@link EnableAutoConfiguration Auto-configuration} for exporting metrics to AppOptics.
3940
*
4041
* @author Stephane Nicoll
42+
* @author Artsiom Yudovin
4143
* @since 2.1.0
4244
*/
4345
@Configuration
@@ -50,17 +52,27 @@
5052
@EnableConfigurationProperties(AppOpticsProperties.class)
5153
public class AppOpticsMetricsExportAutoConfiguration {
5254

55+
private final AppOpticsProperties properties;
56+
57+
public AppOpticsMetricsExportAutoConfiguration(AppOpticsProperties properties) {
58+
this.properties = properties;
59+
}
60+
5361
@Bean
5462
@ConditionalOnMissingBean
55-
public AppOpticsConfig appOpticsConfig(AppOpticsProperties appOpticsProperties) {
56-
return new AppOpticsPropertiesConfigAdapter(appOpticsProperties);
63+
public AppOpticsConfig appOpticsConfig() {
64+
return new AppOpticsPropertiesConfigAdapter(this.properties);
5765
}
5866

5967
@Bean
6068
@ConditionalOnMissingBean
6169
public AppOpticsMeterRegistry appOpticsMeterRegistry(AppOpticsConfig config,
6270
Clock clock) {
63-
return new AppOpticsMeterRegistry(config, clock);
71+
return AppOpticsMeterRegistry.builder(config).clock(clock)
72+
.httpClient(
73+
new HttpUrlConnectionSender(this.properties.getConnectTimeout(),
74+
this.properties.getReadTimeout()))
75+
.build();
6476
}
6577

6678
}

spring-boot-project/spring-boot-actuator-autoconfigure/src/main/java/org/springframework/boot/actuate/autoconfigure/metrics/export/datadog/DatadogMetricsExportAutoConfiguration.java

+15-3
Original file line numberDiff line numberDiff line change
@@ -17,6 +17,7 @@
1717
package org.springframework.boot.actuate.autoconfigure.metrics.export.datadog;
1818

1919
import io.micrometer.core.instrument.Clock;
20+
import io.micrometer.core.ipc.http.HttpUrlConnectionSender;
2021
import io.micrometer.datadog.DatadogConfig;
2122
import io.micrometer.datadog.DatadogMeterRegistry;
2223

@@ -38,6 +39,7 @@
3839
* {@link EnableAutoConfiguration Auto-configuration} for exporting metrics to Datadog.
3940
*
4041
* @author Jon Schneider
42+
* @author Artsiom Yudovin
4143
* @since 2.0.0
4244
*/
4345
@Configuration
@@ -50,17 +52,27 @@
5052
@EnableConfigurationProperties(DatadogProperties.class)
5153
public class DatadogMetricsExportAutoConfiguration {
5254

55+
private final DatadogProperties properties;
56+
57+
public DatadogMetricsExportAutoConfiguration(DatadogProperties properties) {
58+
this.properties = properties;
59+
}
60+
5361
@Bean
5462
@ConditionalOnMissingBean
55-
public DatadogConfig datadogConfig(DatadogProperties datadogProperties) {
56-
return new DatadogPropertiesConfigAdapter(datadogProperties);
63+
public DatadogConfig datadogConfig() {
64+
return new DatadogPropertiesConfigAdapter(this.properties);
5765
}
5866

5967
@Bean
6068
@ConditionalOnMissingBean
6169
public DatadogMeterRegistry datadogMeterRegistry(DatadogConfig datadogConfig,
6270
Clock clock) {
63-
return new DatadogMeterRegistry(datadogConfig, clock);
71+
return DatadogMeterRegistry.builder(datadogConfig).clock(clock)
72+
.httpClient(
73+
new HttpUrlConnectionSender(this.properties.getConnectTimeout(),
74+
this.properties.getReadTimeout()))
75+
.build();
6476
}
6577

6678
}

spring-boot-project/spring-boot-actuator-autoconfigure/src/main/java/org/springframework/boot/actuate/autoconfigure/metrics/export/dynatrace/DynatraceMetricsExportAutoConfiguration.java

+15-3
Original file line numberDiff line numberDiff line change
@@ -17,6 +17,7 @@
1717
package org.springframework.boot.actuate.autoconfigure.metrics.export.dynatrace;
1818

1919
import io.micrometer.core.instrument.Clock;
20+
import io.micrometer.core.ipc.http.HttpUrlConnectionSender;
2021
import io.micrometer.dynatrace.DynatraceConfig;
2122
import io.micrometer.dynatrace.DynatraceMeterRegistry;
2223

@@ -38,6 +39,7 @@
3839
* {@link EnableAutoConfiguration Auto-configuration} for exporting metrics to Dynatrace.
3940
*
4041
* @author Andy Wilkinson
42+
* @author Artsiom Yudovin
4143
* @since 2.1.0
4244
*/
4345
@Configuration
@@ -50,17 +52,27 @@
5052
@EnableConfigurationProperties(DynatraceProperties.class)
5153
public class DynatraceMetricsExportAutoConfiguration {
5254

55+
private final DynatraceProperties properties;
56+
57+
public DynatraceMetricsExportAutoConfiguration(DynatraceProperties properties) {
58+
this.properties = properties;
59+
}
60+
5361
@Bean
5462
@ConditionalOnMissingBean
55-
public DynatraceConfig dynatraceConfig(DynatraceProperties dynatraceProperties) {
56-
return new DynatracePropertiesConfigAdapter(dynatraceProperties);
63+
public DynatraceConfig dynatraceConfig() {
64+
return new DynatracePropertiesConfigAdapter(this.properties);
5765
}
5866

5967
@Bean
6068
@ConditionalOnMissingBean
6169
public DynatraceMeterRegistry dynatraceMeterRegistry(DynatraceConfig dynatraceConfig,
6270
Clock clock) {
63-
return new DynatraceMeterRegistry(dynatraceConfig, clock);
71+
return DynatraceMeterRegistry.builder(dynatraceConfig).clock(clock)
72+
.httpClient(
73+
new HttpUrlConnectionSender(this.properties.getConnectTimeout(),
74+
this.properties.getReadTimeout()))
75+
.build();
6476
}
6577

6678
}

spring-boot-project/spring-boot-actuator-autoconfigure/src/main/java/org/springframework/boot/actuate/autoconfigure/metrics/export/elastic/ElasticMetricsExportAutoConfiguration.java

+15-3
Original file line numberDiff line numberDiff line change
@@ -17,6 +17,7 @@
1717
package org.springframework.boot.actuate.autoconfigure.metrics.export.elastic;
1818

1919
import io.micrometer.core.instrument.Clock;
20+
import io.micrometer.core.ipc.http.HttpUrlConnectionSender;
2021
import io.micrometer.elastic.ElasticConfig;
2122
import io.micrometer.elastic.ElasticMeterRegistry;
2223

@@ -38,6 +39,7 @@
3839
* {@link EnableAutoConfiguration Auto-configuration} for exporting metrics to Elastic.
3940
*
4041
* @author Andy Wilkinson
42+
* @author Artsiom Yudovin
4143
* @since 2.1.0
4244
*/
4345
@Configuration
@@ -50,17 +52,27 @@
5052
@EnableConfigurationProperties(ElasticProperties.class)
5153
public class ElasticMetricsExportAutoConfiguration {
5254

55+
private final ElasticProperties properties;
56+
57+
public ElasticMetricsExportAutoConfiguration(ElasticProperties properties) {
58+
this.properties = properties;
59+
}
60+
5361
@Bean
5462
@ConditionalOnMissingBean
55-
public ElasticConfig elasticConfig(ElasticProperties elasticProperties) {
56-
return new ElasticPropertiesConfigAdapter(elasticProperties);
63+
public ElasticConfig elasticConfig() {
64+
return new ElasticPropertiesConfigAdapter(this.properties);
5765
}
5866

5967
@Bean
6068
@ConditionalOnMissingBean
6169
public ElasticMeterRegistry elasticMeterRegistry(ElasticConfig elasticConfig,
6270
Clock clock) {
63-
return new ElasticMeterRegistry(elasticConfig, clock);
71+
return ElasticMeterRegistry.builder(elasticConfig).clock(clock)
72+
.httpClient(
73+
new HttpUrlConnectionSender(this.properties.getConnectTimeout(),
74+
this.properties.getReadTimeout()))
75+
.build();
6476
}
6577

6678
}

spring-boot-project/spring-boot-actuator-autoconfigure/src/main/java/org/springframework/boot/actuate/autoconfigure/metrics/export/humio/HumioMetricsExportAutoConfiguration.java

+16-3
Original file line numberDiff line numberDiff line change
@@ -17,6 +17,7 @@
1717
package org.springframework.boot.actuate.autoconfigure.metrics.export.humio;
1818

1919
import io.micrometer.core.instrument.Clock;
20+
import io.micrometer.core.ipc.http.HttpUrlConnectionSender;
2021
import io.micrometer.humio.HumioConfig;
2122
import io.micrometer.humio.HumioMeterRegistry;
2223

@@ -38,6 +39,7 @@
3839
* {@link EnableAutoConfiguration Auto-configuration} for exporting metrics to Humio.
3940
*
4041
* @author Andy Wilkinson
42+
* @author Artsiom Yudovin
4143
* @since 2.1.0
4244
*/
4345
@Configuration
@@ -50,16 +52,27 @@
5052
@EnableConfigurationProperties(HumioProperties.class)
5153
public class HumioMetricsExportAutoConfiguration {
5254

55+
private final HumioProperties properties;
56+
57+
public HumioMetricsExportAutoConfiguration(HumioProperties properties) {
58+
this.properties = properties;
59+
}
60+
5361
@Bean
5462
@ConditionalOnMissingBean
55-
public HumioConfig humioConfig(HumioProperties humioProperties) {
56-
return new HumioPropertiesConfigAdapter(humioProperties);
63+
public HumioConfig humioConfig() {
64+
return new HumioPropertiesConfigAdapter(this.properties);
5765
}
5866

5967
@Bean
6068
@ConditionalOnMissingBean
6169
public HumioMeterRegistry humioMeterRegistry(HumioConfig humioConfig, Clock clock) {
62-
return new HumioMeterRegistry(humioConfig, clock);
70+
return HumioMeterRegistry.builder(humioConfig).clock(clock)
71+
.httpClient(
72+
new HttpUrlConnectionSender(this.properties.getConnectTimeout(),
73+
this.properties.getReadTimeout()))
74+
.build();
75+
6376
}
6477

6578
}

spring-boot-project/spring-boot-actuator-autoconfigure/src/main/java/org/springframework/boot/actuate/autoconfigure/metrics/export/influx/InfluxMetricsExportAutoConfiguration.java

+18-5
Original file line numberDiff line numberDiff line change
@@ -17,6 +17,7 @@
1717
package org.springframework.boot.actuate.autoconfigure.metrics.export.influx;
1818

1919
import io.micrometer.core.instrument.Clock;
20+
import io.micrometer.core.ipc.http.HttpUrlConnectionSender;
2021
import io.micrometer.influx.InfluxConfig;
2122
import io.micrometer.influx.InfluxMeterRegistry;
2223

@@ -38,6 +39,7 @@
3839
* {@link EnableAutoConfiguration Auto-configuration} for exporting metrics to Influx.
3940
*
4041
* @author Jon Schneider
42+
* @author Artsiom Yudovin
4143
* @since 2.0.0
4244
*/
4345
@Configuration
@@ -50,17 +52,28 @@
5052
@EnableConfigurationProperties(InfluxProperties.class)
5153
public class InfluxMetricsExportAutoConfiguration {
5254

55+
private final InfluxProperties properties;
56+
57+
public InfluxMetricsExportAutoConfiguration(InfluxProperties properties) {
58+
this.properties = properties;
59+
}
60+
5361
@Bean
5462
@ConditionalOnMissingBean
55-
public InfluxConfig influxConfig(InfluxProperties influxProperties) {
56-
return new InfluxPropertiesConfigAdapter(influxProperties);
63+
public InfluxConfig influxConfig() {
64+
return new InfluxPropertiesConfigAdapter(this.properties);
5765
}
5866

5967
@Bean
6068
@ConditionalOnMissingBean
61-
public InfluxMeterRegistry influxMeterRegistry(InfluxConfig influxConfig,
62-
Clock clock) {
63-
return new InfluxMeterRegistry(influxConfig, clock);
69+
public InfluxMeterRegistry influxMeterRegistry(InfluxConfig influxConfig, Clock clock,
70+
InfluxProperties influxProperties) {
71+
return InfluxMeterRegistry.builder(influxConfig).clock(clock)
72+
.httpClient(
73+
new HttpUrlConnectionSender(this.properties.getConnectTimeout(),
74+
this.properties.getReadTimeout()))
75+
.build();
76+
6477
}
6578

6679
}

spring-boot-project/spring-boot-actuator-autoconfigure/src/main/java/org/springframework/boot/actuate/autoconfigure/metrics/export/kairos/KairosMetricsExportAutoConfiguration.java

+16-3
Original file line numberDiff line numberDiff line change
@@ -17,6 +17,7 @@
1717
package org.springframework.boot.actuate.autoconfigure.metrics.export.kairos;
1818

1919
import io.micrometer.core.instrument.Clock;
20+
import io.micrometer.core.ipc.http.HttpUrlConnectionSender;
2021
import io.micrometer.kairos.KairosConfig;
2122
import io.micrometer.kairos.KairosMeterRegistry;
2223

@@ -38,6 +39,7 @@
3839
* {@link EnableAutoConfiguration Auto-configuration} for exporting metrics to KairosDB.
3940
*
4041
* @author Stephane Nicoll
42+
* @author Artsiom Yudovin
4143
* @since 2.1.0
4244
*/
4345
@Configuration
@@ -50,17 +52,28 @@
5052
@EnableConfigurationProperties(KairosProperties.class)
5153
public class KairosMetricsExportAutoConfiguration {
5254

55+
private final KairosProperties properties;
56+
57+
public KairosMetricsExportAutoConfiguration(KairosProperties properties) {
58+
this.properties = properties;
59+
}
60+
5361
@Bean
5462
@ConditionalOnMissingBean
55-
public KairosConfig kairosConfig(KairosProperties kairosProperties) {
56-
return new KairosPropertiesConfigAdapter(kairosProperties);
63+
public KairosConfig kairosConfig() {
64+
return new KairosPropertiesConfigAdapter(this.properties);
5765
}
5866

5967
@Bean
6068
@ConditionalOnMissingBean
6169
public KairosMeterRegistry kairosMeterRegistry(KairosConfig kairosConfig,
6270
Clock clock) {
63-
return new KairosMeterRegistry(kairosConfig, clock);
71+
return KairosMeterRegistry.builder(kairosConfig).clock(clock)
72+
.httpClient(
73+
new HttpUrlConnectionSender(this.properties.getConnectTimeout(),
74+
this.properties.getReadTimeout()))
75+
.build();
76+
6477
}
6578

6679
}

spring-boot-project/spring-boot-actuator-autoconfigure/src/main/java/org/springframework/boot/actuate/autoconfigure/metrics/export/newrelic/NewRelicMetricsExportAutoConfiguration.java

+16-3
Original file line numberDiff line numberDiff line change
@@ -17,6 +17,7 @@
1717
package org.springframework.boot.actuate.autoconfigure.metrics.export.newrelic;
1818

1919
import io.micrometer.core.instrument.Clock;
20+
import io.micrometer.core.ipc.http.HttpUrlConnectionSender;
2021
import io.micrometer.newrelic.NewRelicConfig;
2122
import io.micrometer.newrelic.NewRelicMeterRegistry;
2223

@@ -39,6 +40,7 @@
3940
*
4041
* @author Jon Schneider
4142
* @author Andy Wilkinson
43+
* @author Artsiom Yudovin
4244
* @since 2.0.0
4345
*/
4446
@Configuration
@@ -51,17 +53,28 @@
5153
@EnableConfigurationProperties(NewRelicProperties.class)
5254
public class NewRelicMetricsExportAutoConfiguration {
5355

56+
private final NewRelicProperties properties;
57+
58+
public NewRelicMetricsExportAutoConfiguration(NewRelicProperties properties) {
59+
this.properties = properties;
60+
}
61+
5462
@Bean
5563
@ConditionalOnMissingBean
56-
public NewRelicConfig newRelicConfig(NewRelicProperties props) {
57-
return new NewRelicPropertiesConfigAdapter(props);
64+
public NewRelicConfig newRelicConfig() {
65+
return new NewRelicPropertiesConfigAdapter(this.properties);
5866
}
5967

6068
@Bean
6169
@ConditionalOnMissingBean
6270
public NewRelicMeterRegistry newRelicMeterRegistry(NewRelicConfig newRelicConfig,
6371
Clock clock) {
64-
return new NewRelicMeterRegistry(newRelicConfig, clock);
72+
return NewRelicMeterRegistry.builder(newRelicConfig).clock(clock)
73+
.httpClient(
74+
new HttpUrlConnectionSender(this.properties.getConnectTimeout(),
75+
this.properties.getReadTimeout()))
76+
.build();
77+
6578
}
6679

6780
}

0 commit comments

Comments
 (0)