From 29da740136c05b26a2b6d205ca11fd9910576bbc Mon Sep 17 00:00:00 2001 From: lcian Date: Fri, 4 Apr 2025 11:16:11 +0200 Subject: [PATCH 1/3] Fix SentryUserFilter in Spring samples --- .../java/io/sentry/samples/spring/jakarta/AppConfig.java | 7 +++---- .../src/main/java/io/sentry/samples/spring/AppConfig.java | 7 +++---- 2 files changed, 6 insertions(+), 8 deletions(-) diff --git a/sentry-samples/sentry-samples-spring-jakarta/src/main/java/io/sentry/samples/spring/jakarta/AppConfig.java b/sentry-samples/sentry-samples-spring-jakarta/src/main/java/io/sentry/samples/spring/jakarta/AppConfig.java index 72ecb14e2f..17b904d8b1 100644 --- a/sentry-samples/sentry-samples-spring-jakarta/src/main/java/io/sentry/samples/spring/jakarta/AppConfig.java +++ b/sentry-samples/sentry-samples-spring-jakarta/src/main/java/io/sentry/samples/spring/jakarta/AppConfig.java @@ -1,6 +1,6 @@ package io.sentry.samples.spring.jakarta; -import io.sentry.IScopes; +import io.sentry.ScopesAdapter; import io.sentry.spring.jakarta.SentryUserFilter; import io.sentry.spring.jakarta.SentryUserProvider; import java.util.List; @@ -13,8 +13,7 @@ public class AppConfig { @Bean - SentryUserFilter sentryUserFilter( - final IScopes scopes, final List sentryUserProviders) { - return new SentryUserFilter(scopes, sentryUserProviders); + SentryUserFilter sentryUserFilter(final List sentryUserProviders) { + return new SentryUserFilter(ScopesAdapter.getInstance(), sentryUserProviders); } } diff --git a/sentry-samples/sentry-samples-spring/src/main/java/io/sentry/samples/spring/AppConfig.java b/sentry-samples/sentry-samples-spring/src/main/java/io/sentry/samples/spring/AppConfig.java index 89a968834a..394b0fe5d2 100644 --- a/sentry-samples/sentry-samples-spring/src/main/java/io/sentry/samples/spring/AppConfig.java +++ b/sentry-samples/sentry-samples-spring/src/main/java/io/sentry/samples/spring/AppConfig.java @@ -1,6 +1,6 @@ package io.sentry.samples.spring; -import io.sentry.IScopes; +import io.sentry.ScopesAdapter; import io.sentry.spring.SentryUserFilter; import io.sentry.spring.SentryUserProvider; import java.util.List; @@ -13,8 +13,7 @@ public class AppConfig { @Bean - SentryUserFilter sentryUserFilter( - final IScopes scopes, final List sentryUserProviders) { - return new SentryUserFilter(scopes, sentryUserProviders); + SentryUserFilter sentryUserFilter(final List sentryUserProviders) { + return new SentryUserFilter(ScopesAdapter.getInstance(), sentryUserProviders); } } From a3d88a45ba0bdf72225943d4ee06bcd6b1f38436 Mon Sep 17 00:00:00 2001 From: lcian Date: Fri, 4 Apr 2025 11:37:39 +0200 Subject: [PATCH 2/3] also fix WebConfig --- .../java/io/sentry/samples/spring/jakarta/WebConfig.java | 7 +++---- .../src/main/java/io/sentry/samples/spring/WebConfig.java | 7 +++---- 2 files changed, 6 insertions(+), 8 deletions(-) diff --git a/sentry-samples/sentry-samples-spring-jakarta/src/main/java/io/sentry/samples/spring/jakarta/WebConfig.java b/sentry-samples/sentry-samples-spring-jakarta/src/main/java/io/sentry/samples/spring/jakarta/WebConfig.java index 73d425b286..5bc023c484 100644 --- a/sentry-samples/sentry-samples-spring-jakarta/src/main/java/io/sentry/samples/spring/jakarta/WebConfig.java +++ b/sentry-samples/sentry-samples-spring-jakarta/src/main/java/io/sentry/samples/spring/jakarta/WebConfig.java @@ -1,6 +1,6 @@ package io.sentry.samples.spring.jakarta; -import io.sentry.IScopes; +import io.sentry.ScopesAdapter; import io.sentry.spring.jakarta.tracing.SentrySpanClientHttpRequestInterceptor; import java.util.Collections; import org.springframework.context.annotation.Bean; @@ -20,14 +20,13 @@ public class WebConfig { * Creates a {@link RestTemplate} which calls are intercepted with {@link * SentrySpanClientHttpRequestInterceptor} to create spans around HTTP calls. * - * @param scopes - sentry scopes * @return RestTemplate */ @Bean - RestTemplate restTemplate(IScopes scopes) { + RestTemplate restTemplate() { RestTemplate restTemplate = new RestTemplate(); SentrySpanClientHttpRequestInterceptor sentryRestTemplateInterceptor = - new SentrySpanClientHttpRequestInterceptor(scopes); + new SentrySpanClientHttpRequestInterceptor(ScopesAdapter.getInstance()); restTemplate.setInterceptors(Collections.singletonList(sentryRestTemplateInterceptor)); return restTemplate; } diff --git a/sentry-samples/sentry-samples-spring/src/main/java/io/sentry/samples/spring/WebConfig.java b/sentry-samples/sentry-samples-spring/src/main/java/io/sentry/samples/spring/WebConfig.java index 2990ba8a38..c605f753a9 100644 --- a/sentry-samples/sentry-samples-spring/src/main/java/io/sentry/samples/spring/WebConfig.java +++ b/sentry-samples/sentry-samples-spring/src/main/java/io/sentry/samples/spring/WebConfig.java @@ -1,6 +1,6 @@ package io.sentry.samples.spring; -import io.sentry.IScopes; +import io.sentry.ScopesAdapter; import io.sentry.spring.tracing.SentrySpanClientHttpRequestInterceptor; import java.util.Collections; import org.springframework.context.annotation.Bean; @@ -20,14 +20,13 @@ public class WebConfig { * Creates a {@link RestTemplate} which calls are intercepted with {@link * SentrySpanClientHttpRequestInterceptor} to create spans around HTTP calls. * - * @param scopes - sentry scopes * @return RestTemplate */ @Bean - RestTemplate restTemplate(IScopes scopes) { + RestTemplate restTemplate() { RestTemplate restTemplate = new RestTemplate(); SentrySpanClientHttpRequestInterceptor sentryRestTemplateInterceptor = - new SentrySpanClientHttpRequestInterceptor(scopes); + new SentrySpanClientHttpRequestInterceptor(ScopesAdapter.getInstance()); restTemplate.setInterceptors(Collections.singletonList(sentryRestTemplateInterceptor)); return restTemplate; } From 75af4b2ee9c036b399bd81e2929d49f2caef4403 Mon Sep 17 00:00:00 2001 From: lcian Date: Fri, 4 Apr 2025 13:28:13 +0200 Subject: [PATCH 3/3] retrieve bean instead --- .../java/io/sentry/samples/spring/jakarta/AppConfig.java | 8 ++++++-- .../java/io/sentry/samples/spring/jakarta/WebConfig.java | 8 ++++++-- .../src/main/java/io/sentry/samples/spring/AppConfig.java | 8 ++++++-- .../src/main/java/io/sentry/samples/spring/WebConfig.java | 8 ++++++-- 4 files changed, 24 insertions(+), 8 deletions(-) diff --git a/sentry-samples/sentry-samples-spring-jakarta/src/main/java/io/sentry/samples/spring/jakarta/AppConfig.java b/sentry-samples/sentry-samples-spring-jakarta/src/main/java/io/sentry/samples/spring/jakarta/AppConfig.java index 17b904d8b1..e89221603d 100644 --- a/sentry-samples/sentry-samples-spring-jakarta/src/main/java/io/sentry/samples/spring/jakarta/AppConfig.java +++ b/sentry-samples/sentry-samples-spring-jakarta/src/main/java/io/sentry/samples/spring/jakarta/AppConfig.java @@ -1,9 +1,11 @@ package io.sentry.samples.spring.jakarta; -import io.sentry.ScopesAdapter; +import io.sentry.IScopes; import io.sentry.spring.jakarta.SentryUserFilter; import io.sentry.spring.jakarta.SentryUserProvider; import java.util.List; +import org.springframework.beans.factory.annotation.Autowired; +import org.springframework.context.ApplicationContext; import org.springframework.context.annotation.Bean; import org.springframework.context.annotation.Configuration; import org.springframework.context.annotation.Import; @@ -12,8 +14,10 @@ @Import(SentryConfig.class) public class AppConfig { + @Autowired private ApplicationContext applicationContext; + @Bean SentryUserFilter sentryUserFilter(final List sentryUserProviders) { - return new SentryUserFilter(ScopesAdapter.getInstance(), sentryUserProviders); + return new SentryUserFilter(applicationContext.getBean(IScopes.class), sentryUserProviders); } } diff --git a/sentry-samples/sentry-samples-spring-jakarta/src/main/java/io/sentry/samples/spring/jakarta/WebConfig.java b/sentry-samples/sentry-samples-spring-jakarta/src/main/java/io/sentry/samples/spring/jakarta/WebConfig.java index 5bc023c484..f4711bc79d 100644 --- a/sentry-samples/sentry-samples-spring-jakarta/src/main/java/io/sentry/samples/spring/jakarta/WebConfig.java +++ b/sentry-samples/sentry-samples-spring-jakarta/src/main/java/io/sentry/samples/spring/jakarta/WebConfig.java @@ -1,8 +1,10 @@ package io.sentry.samples.spring.jakarta; -import io.sentry.ScopesAdapter; +import io.sentry.IScopes; import io.sentry.spring.jakarta.tracing.SentrySpanClientHttpRequestInterceptor; import java.util.Collections; +import org.springframework.beans.factory.annotation.Autowired; +import org.springframework.context.ApplicationContext; import org.springframework.context.annotation.Bean; import org.springframework.context.annotation.ComponentScan; import org.springframework.context.annotation.Configuration; @@ -16,6 +18,8 @@ @EnableWebMvc public class WebConfig { + @Autowired private ApplicationContext applicationContext; + /** * Creates a {@link RestTemplate} which calls are intercepted with {@link * SentrySpanClientHttpRequestInterceptor} to create spans around HTTP calls. @@ -26,7 +30,7 @@ public class WebConfig { RestTemplate restTemplate() { RestTemplate restTemplate = new RestTemplate(); SentrySpanClientHttpRequestInterceptor sentryRestTemplateInterceptor = - new SentrySpanClientHttpRequestInterceptor(ScopesAdapter.getInstance()); + new SentrySpanClientHttpRequestInterceptor(applicationContext.getBean(IScopes.class)); restTemplate.setInterceptors(Collections.singletonList(sentryRestTemplateInterceptor)); return restTemplate; } diff --git a/sentry-samples/sentry-samples-spring/src/main/java/io/sentry/samples/spring/AppConfig.java b/sentry-samples/sentry-samples-spring/src/main/java/io/sentry/samples/spring/AppConfig.java index 394b0fe5d2..cacb82cee5 100644 --- a/sentry-samples/sentry-samples-spring/src/main/java/io/sentry/samples/spring/AppConfig.java +++ b/sentry-samples/sentry-samples-spring/src/main/java/io/sentry/samples/spring/AppConfig.java @@ -1,9 +1,11 @@ package io.sentry.samples.spring; -import io.sentry.ScopesAdapter; +import io.sentry.IScopes; import io.sentry.spring.SentryUserFilter; import io.sentry.spring.SentryUserProvider; import java.util.List; +import org.springframework.beans.factory.annotation.Autowired; +import org.springframework.context.ApplicationContext; import org.springframework.context.annotation.Bean; import org.springframework.context.annotation.Configuration; import org.springframework.context.annotation.Import; @@ -12,8 +14,10 @@ @Import(SentryConfig.class) public class AppConfig { + @Autowired private ApplicationContext applicationContext; + @Bean SentryUserFilter sentryUserFilter(final List sentryUserProviders) { - return new SentryUserFilter(ScopesAdapter.getInstance(), sentryUserProviders); + return new SentryUserFilter(applicationContext.getBean(IScopes.class), sentryUserProviders); } } diff --git a/sentry-samples/sentry-samples-spring/src/main/java/io/sentry/samples/spring/WebConfig.java b/sentry-samples/sentry-samples-spring/src/main/java/io/sentry/samples/spring/WebConfig.java index c605f753a9..257b74f4cb 100644 --- a/sentry-samples/sentry-samples-spring/src/main/java/io/sentry/samples/spring/WebConfig.java +++ b/sentry-samples/sentry-samples-spring/src/main/java/io/sentry/samples/spring/WebConfig.java @@ -1,8 +1,10 @@ package io.sentry.samples.spring; -import io.sentry.ScopesAdapter; +import io.sentry.IScopes; import io.sentry.spring.tracing.SentrySpanClientHttpRequestInterceptor; import java.util.Collections; +import org.springframework.beans.factory.annotation.Autowired; +import org.springframework.context.ApplicationContext; import org.springframework.context.annotation.Bean; import org.springframework.context.annotation.ComponentScan; import org.springframework.context.annotation.Configuration; @@ -16,6 +18,8 @@ @EnableWebMvc public class WebConfig { + @Autowired private ApplicationContext applicationContext; + /** * Creates a {@link RestTemplate} which calls are intercepted with {@link * SentrySpanClientHttpRequestInterceptor} to create spans around HTTP calls. @@ -26,7 +30,7 @@ public class WebConfig { RestTemplate restTemplate() { RestTemplate restTemplate = new RestTemplate(); SentrySpanClientHttpRequestInterceptor sentryRestTemplateInterceptor = - new SentrySpanClientHttpRequestInterceptor(ScopesAdapter.getInstance()); + new SentrySpanClientHttpRequestInterceptor(applicationContext.getBean(IScopes.class)); restTemplate.setInterceptors(Collections.singletonList(sentryRestTemplateInterceptor)); return restTemplate; }