Skip to content

Commit cd93ad1

Browse files
committed
chore: update to Spring Boot 3.0.0-RC1
1 parent 8458d56 commit cd93ad1

File tree

59 files changed

+204
-163
lines changed

Some content is hidden

Large Commits have some content hidden by default. Use the searchbox below for content that may be hidden.

59 files changed

+204
-163
lines changed

pom.xml

Lines changed: 16 additions & 7 deletions
Original file line numberDiff line numberDiff line change
@@ -36,21 +36,21 @@
3636
<project.reporting.outputEncoding>UTF-8</project.reporting.outputEncoding>
3737

3838
<!-- used dependencies versions -->
39-
<spring-boot.version>3.0.0-M4</spring-boot.version>
40-
<spring-cloud.version>2022.0.0-M3</spring-cloud.version>
41-
<wiremock.version>2.32.0</wiremock.version>
42-
<hazelcast-tests.version>5.1.1</hazelcast-tests.version>
39+
<spring-boot.version>3.0.0-RC1</spring-boot.version>
40+
<spring-cloud.version>2022.0.0-M5</spring-cloud.version>
41+
<wiremock.version>2.34.0</wiremock.version>
42+
<hazelcast-tests.version>5.1.3</hazelcast-tests.version>
4343
<findbugs-jsr305.version>3.0.2</findbugs-jsr305.version>
4444
<awaitility.version>4.2.0</awaitility.version>
45-
<testcontainers.version>1.17.3</testcontainers.version>
46-
<jetty.version>9.4.48.v20220622</jetty.version>
45+
<testcontainers.version>1.17.5</testcontainers.version>
46+
<jetty.version>9.4.49.v20220914</jetty.version>
4747
<eureka-client.version>3.1.1</eureka-client.version>
4848
<!-- Wiremock does not yet support jetty 11 (see also https://github.com/wiremock/wiremock/issues/1760).
4949
Spring Boot 3 only supports jetty 11. -.- -->
5050
<!--<jetty.version>11.0.6</jetty.version>-->
51+
<!-- <jetty.version>9.4.48.v20220622</jetty.version> -->
5152
<junit-jupiter.version>5.8.2</junit-jupiter.version>
5253
<jolokia.version>1.7.1</jolokia.version>
53-
<jetbrains-annotations>23.0.0</jetbrains-annotations>
5454

5555
<!-- plugin versions -->
5656
<build-helper-maven-plugin.version>3.3.0</build-helper-maven-plugin.version>
@@ -514,6 +514,15 @@
514514
</snapshots>
515515
<url>https://repo.spring.io/snapshot</url>
516516
</repository>
517+
<!-- Required for Eureka RC -->
518+
<repository>
519+
<id>netflix-candidates</id>
520+
<name>Netflix Candidates</name>
521+
<url>https://artifactory-oss.prod.netflix.net/artifactory/maven-oss-candidates</url>
522+
<snapshots>
523+
<enabled>false</enabled>
524+
</snapshots>
525+
</repository>
517526
</repositories>
518527
<pluginRepositories>
519528
<pluginRepository>

spring-boot-admin-client/pom.xml

Lines changed: 0 additions & 5 deletions
Original file line numberDiff line numberDiff line change
@@ -28,11 +28,6 @@
2828
<relativePath>../spring-boot-admin-build</relativePath>
2929
</parent>
3030
<dependencies>
31-
<dependency>
32-
<groupId>org.jetbrains</groupId>
33-
<artifactId>annotations</artifactId>
34-
<version>${jetbrains-annotations}</version>
35-
</dependency>
3631
<dependency>
3732
<groupId>org.springframework.boot</groupId>
3833
<artifactId>spring-boot-starter</artifactId>

spring-boot-admin-client/src/main/java/de/codecentric/boot/admin/client/config/ClientProperties.java

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -19,11 +19,11 @@
1919
import java.time.Duration;
2020
import java.time.temporal.ChronoUnit;
2121

22-
import org.jetbrains.annotations.Nullable;
2322
import org.springframework.boot.cloud.CloudPlatform;
2423
import org.springframework.boot.context.properties.ConfigurationProperties;
2524
import org.springframework.boot.convert.DurationUnit;
2625
import org.springframework.core.env.Environment;
26+
import org.springframework.lang.Nullable;
2727

2828
@lombok.Data
2929
@ConfigurationProperties(prefix = "spring.boot.admin.client")

spring-boot-admin-client/src/main/java/de/codecentric/boot/admin/client/config/CloudFoundryApplicationProperties.java

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -19,8 +19,8 @@
1919
import java.util.ArrayList;
2020
import java.util.List;
2121

22-
import org.jetbrains.annotations.Nullable;
2322
import org.springframework.boot.context.properties.ConfigurationProperties;
23+
import org.springframework.lang.Nullable;
2424

2525
@lombok.Data
2626
@ConfigurationProperties("vcap.application")

spring-boot-admin-client/src/main/java/de/codecentric/boot/admin/client/config/InstanceProperties.java

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -19,9 +19,9 @@
1919
import java.util.LinkedHashMap;
2020
import java.util.Map;
2121

22-
import org.jetbrains.annotations.Nullable;
2322
import org.springframework.beans.factory.annotation.Value;
2423
import org.springframework.boot.context.properties.ConfigurationProperties;
24+
import org.springframework.lang.Nullable;
2525

2626
@lombok.Data
2727
@ConfigurationProperties(prefix = "spring.boot.admin.client.instance")

spring-boot-admin-client/src/main/java/de/codecentric/boot/admin/client/config/SpringBootAdminClientAutoConfiguration.java

Lines changed: 5 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -42,6 +42,7 @@
4242
import org.springframework.context.annotation.Configuration;
4343
import org.springframework.context.annotation.Lazy;
4444
import org.springframework.core.env.Environment;
45+
import org.springframework.web.client.RestTemplate;
4546
import org.springframework.web.reactive.function.client.WebClient;
4647

4748
import de.codecentric.boot.admin.client.registration.ApplicationFactory;
@@ -138,12 +139,13 @@ public static class BlockingRegistrationClientConfig {
138139
@Bean
139140
@ConditionalOnMissingBean
140141
public RegistrationClient registrationClient(ClientProperties client) {
141-
RestTemplateBuilder builder = new RestTemplateBuilder().setConnectTimeout(client.getConnectTimeout())
142-
.setReadTimeout(client.getReadTimeout());
142+
RestTemplateBuilder builder = new RestTemplateBuilder().setConnectTimeout(client.getConnectTimeout());
143+
builder.setReadTimeout(client.getReadTimeout());
143144
if (client.getUsername() != null && client.getPassword() != null) {
144145
builder = builder.basicAuthentication(client.getUsername(), client.getPassword());
145146
}
146-
return new BlockingRegistrationClient(builder.build());
147+
RestTemplate build = builder.build();
148+
return new BlockingRegistrationClient(build);
147149
}
148150

149151
}

spring-boot-admin-client/src/main/java/de/codecentric/boot/admin/client/registration/DefaultApplicationFactory.java

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -21,7 +21,6 @@
2121
import java.util.LinkedHashMap;
2222
import java.util.Map;
2323

24-
import org.jetbrains.annotations.Nullable;
2524
import org.springframework.boot.actuate.autoconfigure.endpoint.web.WebEndpointProperties;
2625
import org.springframework.boot.actuate.autoconfigure.web.server.ManagementServerProperties;
2726
import org.springframework.boot.actuate.endpoint.EndpointId;
@@ -30,6 +29,7 @@
3029
import org.springframework.boot.web.context.WebServerInitializedEvent;
3130
import org.springframework.boot.web.server.Ssl;
3231
import org.springframework.context.event.EventListener;
32+
import org.springframework.lang.Nullable;
3333
import org.springframework.util.StringUtils;
3434
import org.springframework.web.util.UriComponentsBuilder;
3535

spring-boot-admin-client/src/main/java/de/codecentric/boot/admin/client/registration/RegistrationApplicationListener.java

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -19,7 +19,6 @@
1919
import java.time.Duration;
2020
import java.util.concurrent.ScheduledFuture;
2121

22-
import org.jetbrains.annotations.Nullable;
2322
import org.slf4j.Logger;
2423
import org.slf4j.LoggerFactory;
2524
import org.springframework.beans.factory.DisposableBean;
@@ -29,6 +28,7 @@
2928
import org.springframework.context.event.EventListener;
3029
import org.springframework.core.Ordered;
3130
import org.springframework.core.annotation.Order;
31+
import org.springframework.lang.Nullable;
3232
import org.springframework.scheduling.concurrent.ThreadPoolTaskScheduler;
3333

3434
/**

spring-boot-admin-samples/spring-boot-admin-sample-consul/src/main/java/de/codecentric/boot/admin/SpringBootAdminConsulApplication.java

Lines changed: 15 additions & 11 deletions
Original file line numberDiff line numberDiff line change
@@ -19,12 +19,13 @@
1919
import org.springframework.boot.SpringApplication;
2020
import org.springframework.boot.autoconfigure.EnableAutoConfiguration;
2121
import org.springframework.cloud.client.discovery.EnableDiscoveryClient;
22+
import org.springframework.context.annotation.Bean;
2223
import org.springframework.context.annotation.Configuration;
2324
import org.springframework.context.annotation.Profile;
2425
import org.springframework.http.HttpMethod;
2526
import org.springframework.security.config.Customizer;
2627
import org.springframework.security.config.annotation.web.builders.HttpSecurity;
27-
import org.springframework.security.config.annotation.web.configuration.WebSecurityConfigurerAdapter;
28+
import org.springframework.security.web.SecurityFilterChain;
2829
import org.springframework.security.web.authentication.SavedRequestAwareAuthenticationSuccessHandler;
2930
import org.springframework.security.web.csrf.CookieCsrfTokenRepository;
3031
import org.springframework.security.web.util.matcher.AntPathRequestMatcher;
@@ -44,47 +45,48 @@ public static void main(String[] args) {
4445

4546
@Profile("insecure")
4647
@Configuration(proxyBeanMethods = false)
47-
public static class SecurityPermitAllConfig extends WebSecurityConfigurerAdapter {
48+
public static class SecurityPermitAllConfig {
4849

4950
private final String adminContextPath;
5051

5152
public SecurityPermitAllConfig(AdminServerProperties adminServerProperties) {
5253
this.adminContextPath = adminServerProperties.getContextPath();
5354
}
5455

55-
@Override
56-
protected void configure(HttpSecurity http) throws Exception {
57-
http.authorizeRequests((authorizeRequests) -> authorizeRequests.anyRequest().permitAll())
56+
@Bean
57+
protected SecurityFilterChain filterChain(HttpSecurity http) throws Exception {
58+
http.authorizeHttpRequests((authorizeRequests) -> authorizeRequests.anyRequest().permitAll())
5859
.csrf((csrf) -> csrf.csrfTokenRepository(CookieCsrfTokenRepository.withHttpOnlyFalse())
5960
.ignoringRequestMatchers(
6061
new AntPathRequestMatcher(this.adminContextPath + "/instances",
6162
HttpMethod.POST.toString()),
6263
new AntPathRequestMatcher(this.adminContextPath + "/instances/*",
6364
HttpMethod.DELETE.toString()),
6465
new AntPathRequestMatcher(this.adminContextPath + "/actuator/**")));
66+
return http.build();
6567
}
6668

6769
}
6870

6971
@Profile("secure")
7072
@Configuration(proxyBeanMethods = false)
71-
public static class SecuritySecureConfig extends WebSecurityConfigurerAdapter {
73+
public static class SecuritySecureConfig {
7274

7375
private final String adminContextPath;
7476

7577
public SecuritySecureConfig(AdminServerProperties adminServerProperties) {
7678
this.adminContextPath = adminServerProperties.getContextPath();
7779
}
7880

79-
@Override
80-
protected void configure(HttpSecurity http) throws Exception {
81+
@Bean
82+
protected SecurityFilterChain filterChain(HttpSecurity http) throws Exception {
8183
SavedRequestAwareAuthenticationSuccessHandler successHandler = new SavedRequestAwareAuthenticationSuccessHandler();
8284
successHandler.setTargetUrlParameter("redirectTo");
8385
successHandler.setDefaultTargetUrl(this.adminContextPath + "/");
8486

85-
http.authorizeRequests((authorizeRequests) -> authorizeRequests
86-
.antMatchers(this.adminContextPath + "/assets/**").permitAll()
87-
.antMatchers(this.adminContextPath + "/login").permitAll().anyRequest().authenticated())
87+
http.authorizeHttpRequests((authorizeRequests) -> authorizeRequests
88+
.requestMatchers(this.adminContextPath + "/assets/**").permitAll()
89+
.requestMatchers(this.adminContextPath + "/login").permitAll().anyRequest().authenticated())
8890
.formLogin((formLogin) -> formLogin.loginPage(this.adminContextPath + "/login")
8991
.successHandler(successHandler))
9092
.logout((logout) -> logout.logoutUrl(this.adminContextPath + "/logout"))
@@ -96,6 +98,8 @@ protected void configure(HttpSecurity http) throws Exception {
9698
new AntPathRequestMatcher(this.adminContextPath + "/instances/*",
9799
HttpMethod.DELETE.toString()),
98100
new AntPathRequestMatcher(this.adminContextPath + "/actuator/**")));
101+
102+
return http.build();
99103
}
100104

101105
}

spring-boot-admin-samples/spring-boot-admin-sample-eureka/pom.xml

Lines changed: 6 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -35,6 +35,12 @@
3535
<dependency>
3636
<groupId>org.springframework.boot</groupId>
3737
<artifactId>spring-boot-starter-web</artifactId>
38+
<exclusions>
39+
<exclusion>
40+
<groupId>org.springframework.boot</groupId>
41+
<artifactId>spring-boot-starter-tomcat</artifactId>
42+
</exclusion>
43+
</exclusions>
3844
</dependency>
3945
<dependency>
4046
<groupId>org.springframework.boot</groupId>
@@ -44,7 +50,6 @@
4450
<dependency>
4551
<groupId>org.springframework.cloud</groupId>
4652
<artifactId>spring-cloud-starter-netflix-eureka-client</artifactId>
47-
<version>${eureka-client.version}</version>
4853
</dependency>
4954
<!-- end::dependency-eureka[] -->
5055
<dependency>

0 commit comments

Comments
 (0)