-
-
Notifications
You must be signed in to change notification settings - Fork 468
Expand file tree
/
Copy pathSentryCheckInPointcutConfiguration.java
More file actions
31 lines (28 loc) · 1.18 KB
/
SentryCheckInPointcutConfiguration.java
File metadata and controls
31 lines (28 loc) · 1.18 KB
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
package io.sentry.spring.checkin;
import com.jakewharton.nopen.annotation.Open;
import org.jetbrains.annotations.NotNull;
import org.springframework.aop.Pointcut;
import org.springframework.aop.support.ComposablePointcut;
import org.springframework.aop.support.annotation.AnnotationClassFilter;
import org.springframework.aop.support.annotation.AnnotationMatchingPointcut;
import org.springframework.beans.factory.config.BeanDefinition;
import org.springframework.context.annotation.Bean;
import org.springframework.context.annotation.Configuration;
import org.springframework.context.annotation.Role;
/** AOP pointcut configuration for {@link SentryCheckIn}. */
@Configuration(proxyBeanMethods = false)
@Open
@Role(BeanDefinition.ROLE_INFRASTRUCTURE)
public class SentryCheckInPointcutConfiguration {
/**
* Pointcut around which check-ins are created.
*
* @return pointcut used by {@link SentryCheckInAdvice}.
*/
@Bean
@Role(BeanDefinition.ROLE_INFRASTRUCTURE)
public @NotNull Pointcut sentryCheckInPointcut() {
return new ComposablePointcut(new AnnotationClassFilter(SentryCheckIn.class, true))
.union(new AnnotationMatchingPointcut(null, SentryCheckIn.class));
}
}