Skip to content

Commit 38e4f11

Browse files
lblodermaciejwalkowiakadinauergetsentry-bot
authored
Update Spring Boot Jakarta to Spring Boot 3.0.0-RC2 (#2347)
Co-authored-by: Maciej Walkowiak <[email protected]> Co-authored-by: Lukas Bloder <[email protected]> Co-authored-by: Alexander Dinauer <[email protected]> Co-authored-by: Alexander Dinauer <[email protected]> Co-authored-by: getsentry-bot <[email protected]> Co-authored-by: Sentry Github Bot <[email protected]>
1 parent 51e7326 commit 38e4f11

File tree

24 files changed

+125
-95
lines changed

24 files changed

+125
-95
lines changed

.github/workflows/integration-tests-benchmarks.yml

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -91,4 +91,4 @@ jobs:
9191
config: sentry-android-integration-tests/metrics-test.yml
9292
sauce-user: ${{ secrets.SAUCE_USERNAME }}
9393
sauce-key: ${{ secrets.SAUCE_ACCESS_KEY }}
94-
if: env.SAUCE_USERNAME != null
94+
if: env.SAUCE_USERNAME != null

CHANGELOG.md

Lines changed: 4 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -6,6 +6,10 @@
66

77
- Fix `Gpu.vendorId` should be a String ([#2343](https://github.com/getsentry/sentry-java/pull/2343))
88

9+
### Features
10+
11+
- Update Spring Boot Jakarta to Spring Boot 3.0.0-RC2 ([#2347](https://github.com/getsentry/sentry-java/pull/2347))
12+
913
## 6.7.0
1014

1115
### Fixes

buildSrc/src/main/java/Config.kt

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -5,7 +5,7 @@ object Config {
55
val kotlinStdLib = "stdlib-jdk8"
66

77
val springBootVersion = "2.7.4"
8-
val springBoot3Version = "3.0.0-M5"
8+
val springBoot3Version = "3.0.0-RC2"
99
val kotlinCompatibleLanguageVersion = "1.4"
1010

1111
val composeVersion = "1.1.1"

sentry-samples/sentry-samples-spring-boot-jakarta/build.gradle.kts

Lines changed: 0 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -59,10 +59,6 @@ tasks.withType<KotlinCompile> {
5959
}
6060
}
6161

62-
tasks.withType<JavaCompile> {
63-
options.compilerArgs.add("-Xlint:-deprecation")
64-
}
65-
6662
task("jakartaTransformation", JavaExec::class) {
6763
main = "org.eclipse.transformer.cli.JakartaTransformerCLI"
6864
classpath = configurations.getByName("jakartaTransform") // sourceSets["main"].compileClasspath

sentry-samples/sentry-samples-spring-boot-jakarta/src/main/java/io/sentry/samples/spring/boot/jakarta/PersonService.java

Lines changed: 9 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -1,5 +1,7 @@
11
package io.sentry.samples.spring.boot.jakarta;
22

3+
import io.sentry.ISpan;
4+
import io.sentry.Sentry;
35
import io.sentry.spring.jakarta.tracing.SentrySpan;
46
import org.slf4j.Logger;
57
import org.slf4j.LoggerFactory;
@@ -16,12 +18,19 @@ public class PersonService {
1618
private static final Logger LOGGER = LoggerFactory.getLogger(PersonService.class);
1719

1820
private final JdbcTemplate jdbcTemplate;
21+
private int createCount = 0;
1922

2023
public PersonService(JdbcTemplate jdbcTemplate) {
2124
this.jdbcTemplate = jdbcTemplate;
2225
}
2326

2427
Person create(Person person) {
28+
createCount++;
29+
final ISpan span = Sentry.getSpan();
30+
if (span != null) {
31+
span.setMeasurement("create_count", createCount);
32+
}
33+
2534
jdbcTemplate.update(
2635
"insert into person (firstName, lastName) values (?, ?)",
2736
person.getFirstName(),

sentry-samples/sentry-samples-spring-boot-jakarta/src/main/java/io/sentry/samples/spring/boot/jakarta/SecurityConfiguration.java

Lines changed: 8 additions & 8 deletions
Original file line numberDiff line numberDiff line change
@@ -4,27 +4,27 @@
44
import org.springframework.context.annotation.Bean;
55
import org.springframework.context.annotation.Configuration;
66
import org.springframework.security.config.annotation.web.builders.HttpSecurity;
7-
import org.springframework.security.config.annotation.web.configuration.WebSecurityConfigurerAdapter;
87
import org.springframework.security.core.userdetails.User;
98
import org.springframework.security.core.userdetails.UserDetails;
10-
import org.springframework.security.core.userdetails.UserDetailsService;
119
import org.springframework.security.crypto.factory.PasswordEncoderFactories;
1210
import org.springframework.security.crypto.password.PasswordEncoder;
1311
import org.springframework.security.provisioning.InMemoryUserDetailsManager;
12+
import org.springframework.security.web.SecurityFilterChain;
1413

1514
@Configuration
16-
public class SecurityConfiguration extends WebSecurityConfigurerAdapter {
15+
public class SecurityConfiguration {
1716

1817
// this API is meant to be consumed by non-browser clients thus the CSRF protection is not needed.
19-
@Override
2018
@SuppressWarnings("lgtm[java/spring-disabled-csrf-protection]")
21-
protected void configure(final @NotNull HttpSecurity http) throws Exception {
22-
http.csrf().disable().authorizeRequests().anyRequest().authenticated().and().httpBasic();
19+
@Bean
20+
public SecurityFilterChain filterChain(final @NotNull HttpSecurity http) throws Exception {
21+
http.csrf().disable().authorizeHttpRequests().anyRequest().authenticated().and().httpBasic();
22+
23+
return http.build();
2324
}
2425

2526
@Bean
26-
@Override
27-
public @NotNull UserDetailsService userDetailsService() {
27+
public @NotNull InMemoryUserDetailsManager userDetailsService() {
2828
final PasswordEncoder encoder = PasswordEncoderFactories.createDelegatingPasswordEncoder();
2929

3030
final UserDetails user =

sentry-samples/sentry-samples-spring-jakarta/build.gradle.kts

Lines changed: 0 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -70,7 +70,3 @@ task("jakartaTransformation", JavaExec::class) {
7070
classpath = configurations.getByName("jakartaTransform") // sourceSets["main"].compileClasspath
7171
args = listOf("../sentry-samples-spring/src/main/java/io/sentry/samples/spring", "src/main/java/io/sentry/samples/spring/jakarta", "-o", "-tf", "sentry-jakarta-text-master.properties")
7272
}
73-
74-
tasks.withType<JavaCompile> {
75-
options.compilerArgs.add("-Xlint:-deprecation")
76-
}

sentry-samples/sentry-samples-spring-jakarta/src/main/java/io/sentry/samples/spring/jakarta/SecurityConfiguration.java

Lines changed: 8 additions & 10 deletions
Original file line numberDiff line numberDiff line change
@@ -4,29 +4,27 @@
44
import org.springframework.context.annotation.Bean;
55
import org.springframework.context.annotation.Configuration;
66
import org.springframework.security.config.annotation.web.builders.HttpSecurity;
7-
import org.springframework.security.config.annotation.web.configuration.EnableWebSecurity;
8-
import org.springframework.security.config.annotation.web.configuration.WebSecurityConfigurerAdapter;
97
import org.springframework.security.core.userdetails.User;
108
import org.springframework.security.core.userdetails.UserDetails;
11-
import org.springframework.security.core.userdetails.UserDetailsService;
129
import org.springframework.security.crypto.factory.PasswordEncoderFactories;
1310
import org.springframework.security.crypto.password.PasswordEncoder;
1411
import org.springframework.security.provisioning.InMemoryUserDetailsManager;
12+
import org.springframework.security.web.SecurityFilterChain;
1513

1614
@Configuration
17-
@EnableWebSecurity
18-
public class SecurityConfiguration extends WebSecurityConfigurerAdapter {
15+
public class SecurityConfiguration {
1916

2017
// this API is meant to be consumed by non-browser clients thus the CSRF protection is not needed.
21-
@Override
2218
@SuppressWarnings("lgtm[java/spring-disabled-csrf-protection]")
23-
protected void configure(final @NotNull HttpSecurity http) throws Exception {
24-
http.csrf().disable().authorizeRequests().anyRequest().authenticated().and().httpBasic();
19+
@Bean
20+
public SecurityFilterChain filterChain(final @NotNull HttpSecurity http) throws Exception {
21+
http.csrf().disable().authorizeHttpRequests().anyRequest().authenticated().and().httpBasic();
22+
23+
return http.build();
2524
}
2625

2726
@Bean
28-
@Override
29-
public @NotNull UserDetailsService userDetailsService() {
27+
public @NotNull InMemoryUserDetailsManager userDetailsService() {
3028
final PasswordEncoder encoder = PasswordEncoderFactories.createDelegatingPasswordEncoder();
3129

3230
final UserDetails user =

sentry-spring-boot-starter-jakarta/build.gradle.kts

Lines changed: 1 addition & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -1,4 +1,3 @@
1-
import com.android.build.gradle.internal.tasks.factory.dependsOn
21
import io.spring.gradle.dependencymanagement.dsl.DependencyManagementExtension
32
import net.ltgt.gradle.errorprone.errorprone
43
import org.jetbrains.kotlin.gradle.tasks.KotlinCompile
@@ -128,7 +127,7 @@ task("jakartaMainClassTransformation", JavaExec::class) {
128127
args = listOf("../sentry-spring-boot-starter/src/test/kotlin/com/acme", "src/test/kotlin/com/acme", "-o", "-tf", "sentry-jakarta-text-master.properties")
129128
}
130129

131-
tasks.named("build").dependsOn("jakartaTransformation")
130+
// tasks.named("build").dependsOn("jakartaTransformation")
132131

133132
buildConfig {
134133
useJavaOutput()

sentry-spring-boot-starter-jakarta/src/test/kotlin/io/sentry/spring/boot/jakarta/it/SentrySpringIntegrationTest.kt

Lines changed: 15 additions & 12 deletions
Original file line numberDiff line numberDiff line change
@@ -8,6 +8,7 @@ import io.sentry.checkTransaction
88
import io.sentry.spring.jakarta.tracing.SentrySpan
99
import io.sentry.transport.ITransport
1010
import org.assertj.core.api.Assertions.assertThat
11+
import org.junit.Ignore
1112
import org.junit.runner.RunWith
1213
import org.mockito.kotlin.any
1314
import org.mockito.kotlin.anyOrNull
@@ -32,21 +33,19 @@ import org.springframework.http.HttpStatus
3233
import org.springframework.http.MediaType
3334
import org.springframework.http.ResponseEntity
3435
import org.springframework.security.config.annotation.web.builders.HttpSecurity
35-
import org.springframework.security.config.annotation.web.configuration.WebSecurityConfigurerAdapter
3636
import org.springframework.security.core.userdetails.User
3737
import org.springframework.security.core.userdetails.UserDetails
38-
import org.springframework.security.core.userdetails.UserDetailsService
3938
import org.springframework.security.crypto.factory.PasswordEncoderFactories
4039
import org.springframework.security.crypto.password.PasswordEncoder
4140
import org.springframework.security.provisioning.InMemoryUserDetailsManager
41+
import org.springframework.security.web.SecurityFilterChain
4242
import org.springframework.stereotype.Service
4343
import org.springframework.test.context.junit4.SpringRunner
4444
import org.springframework.web.bind.annotation.ControllerAdvice
4545
import org.springframework.web.bind.annotation.ExceptionHandler
4646
import org.springframework.web.bind.annotation.GetMapping
4747
import org.springframework.web.bind.annotation.PostMapping
4848
import org.springframework.web.bind.annotation.RestController
49-
import java.lang.RuntimeException
5049
import kotlin.test.BeforeTest
5150
import kotlin.test.Test
5251

@@ -270,17 +269,10 @@ open class HelloService {
270269
}
271270

272271
@Configuration
273-
open class SecurityConfiguration : WebSecurityConfigurerAdapter() {
274-
275-
override fun configure(http: HttpSecurity) {
276-
http.csrf().disable()
277-
.authorizeRequests().anyRequest().authenticated()
278-
.and()
279-
.httpBasic()
280-
}
272+
open class SecurityConfiguration {
281273

282274
@Bean
283-
override fun userDetailsService(): UserDetailsService {
275+
open fun userDetailsService(): InMemoryUserDetailsManager {
284276
val encoder: PasswordEncoder = PasswordEncoderFactories.createDelegatingPasswordEncoder()
285277
val user: UserDetails = User
286278
.builder()
@@ -291,6 +283,17 @@ open class SecurityConfiguration : WebSecurityConfigurerAdapter() {
291283
.build()
292284
return InMemoryUserDetailsManager(user)
293285
}
286+
287+
@Bean
288+
@Throws(Exception::class)
289+
open fun filterChain(http: HttpSecurity): SecurityFilterChain {
290+
http.csrf().disable()
291+
.authorizeRequests().anyRequest().authenticated()
292+
.and()
293+
.httpBasic()
294+
295+
return http.build()
296+
}
294297
}
295298

296299
class CustomException(message: String) : RuntimeException(message)

0 commit comments

Comments
 (0)