Skip to content

Commit 0c031c1

Browse files
committed
Enforce ordering when ObjectProvider is used
1 parent 42e0dc1 commit 0c031c1

File tree

4 files changed

+6
-5
lines changed

4 files changed

+6
-5
lines changed

spring-boot-project/spring-boot-actuator-autoconfigure/src/main/java/org/springframework/boot/actuate/autoconfigure/metrics/jdbc/DataSourcePoolMetricsAutoConfiguration.java

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -68,7 +68,7 @@ static class DataSourcePoolMetadataMetricsConfiguration {
6868
@Autowired
6969
void bindDataSourcesToRegistry(Map<String, DataSource> dataSources, MeterRegistry registry,
7070
ObjectProvider<DataSourcePoolMetadataProvider> metadataProviders) {
71-
List<DataSourcePoolMetadataProvider> metadataProvidersList = metadataProviders.stream()
71+
List<DataSourcePoolMetadataProvider> metadataProvidersList = metadataProviders.orderedStream()
7272
.collect(Collectors.toList());
7373
dataSources.forEach(
7474
(name, dataSource) -> bindDataSourceToRegistry(name, dataSource, metadataProvidersList, registry));

spring-boot-project/spring-boot-autoconfigure/src/main/java/org/springframework/boot/autoconfigure/admin/SpringApplicationAdminJmxAutoConfiguration.java

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -62,9 +62,9 @@ public SpringApplicationAdminMXBeanRegistrar springApplicationAdminRegistrar(
6262
ObjectProvider<MBeanExporter> mbeanExporters, Environment environment) throws MalformedObjectNameException {
6363
String jmxName = environment.getProperty(JMX_NAME_PROPERTY, DEFAULT_JMX_NAME);
6464
if (mbeanExporters != null) { // Make sure to not register that MBean twice
65-
for (MBeanExporter mbeanExporter : mbeanExporters) {
65+
mbeanExporters.orderedStream().forEach(mbeanExporter -> {
6666
mbeanExporter.addExcludedBean(jmxName);
67-
}
67+
});
6868
}
6969
return new SpringApplicationAdminMXBeanRegistrar(jmxName);
7070
}

spring-boot-project/spring-boot-autoconfigure/src/main/java/org/springframework/boot/autoconfigure/flyway/FlywayAutoConfiguration.java

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -123,7 +123,7 @@ public Flyway flyway(FlywayProperties properties, DataSourceProperties dataSourc
123123
configureCallbacks(configuration, orderedCallbacks);
124124
fluentConfigurationCustomizers.orderedStream().forEach((customizer) -> customizer.customize(configuration));
125125
configureFlywayCallbacks(configuration, orderedCallbacks);
126-
List<JavaMigration> migrations = javaMigrations.stream().collect(Collectors.toList());
126+
List<JavaMigration> migrations = javaMigrations.orderedStream().collect(Collectors.toList());
127127
configureJavaMigrations(configuration, migrations);
128128
return configuration.load();
129129
}

spring-boot-project/spring-boot-autoconfigure/src/main/java/org/springframework/boot/autoconfigure/task/TaskExecutionAutoConfiguration.java

Lines changed: 2 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -17,6 +17,7 @@
1717
package org.springframework.boot.autoconfigure.task;
1818

1919
import java.util.concurrent.Executor;
20+
import java.util.stream.Collectors;
2021

2122
import org.springframework.beans.factory.ObjectProvider;
2223
import org.springframework.boot.autoconfigure.EnableAutoConfiguration;
@@ -67,7 +68,7 @@ public TaskExecutorBuilder taskExecutorBuilder(TaskExecutionProperties propertie
6768
builder = builder.awaitTermination(shutdown.isAwaitTermination());
6869
builder = builder.awaitTerminationPeriod(shutdown.getAwaitTerminationPeriod());
6970
builder = builder.threadNamePrefix(properties.getThreadNamePrefix());
70-
builder = builder.customizers(taskExecutorCustomizers);
71+
builder = builder.customizers(taskExecutorCustomizers.orderedStream().collect(Collectors.toList()));
7172
builder = builder.taskDecorator(taskDecorator.getIfUnique());
7273
return builder;
7374
}

0 commit comments

Comments
 (0)