Skip to content

Commit 0d7762d

Browse files
Implement SmartInitializingSingleton for sorting
Signed-off-by: Tran Ngoc Nhan <ngocnhan.tran1996@gmail.com>
1 parent af2668f commit 0d7762d

File tree

1 file changed

+7
-2
lines changed

1 file changed

+7
-2
lines changed

core/src/main/java/org/springframework/security/authorization/method/AuthorizationAdvisorProxyFactory.java

Lines changed: 7 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -37,6 +37,7 @@
3737
import java.util.function.Supplier;
3838
import java.util.stream.Stream;
3939

40+
import org.springframework.beans.factory.SmartInitializingSingleton;
4041
import reactor.core.publisher.Flux;
4142
import reactor.core.publisher.Mono;
4243

@@ -75,7 +76,7 @@
7576
* @since 6.3
7677
*/
7778
public final class AuthorizationAdvisorProxyFactory
78-
implements AuthorizationProxyFactory, Iterable<AuthorizationAdvisor> {
79+
implements AuthorizationProxyFactory, Iterable<AuthorizationAdvisor>, SmartInitializingSingleton {
7980

8081
private static final boolean isReactivePresent = ClassUtils.isPresent("reactor.core.publisher.Mono", null);
8182

@@ -126,6 +127,11 @@ public static AuthorizationAdvisorProxyFactory withReactiveDefaults() {
126127
return new AuthorizationAdvisorProxyFactory(advisors);
127128
}
128129

130+
@Override
131+
public void afterSingletonsInstantiated() {
132+
AnnotationAwareOrderComparator.sort(this.advisors);
133+
}
134+
129135
/**
130136
* Proxy an object to enforce authorization advice.
131137
*
@@ -146,7 +152,6 @@ public static AuthorizationAdvisorProxyFactory withReactiveDefaults() {
146152
*/
147153
@Override
148154
public Object proxy(Object target) {
149-
AnnotationAwareOrderComparator.sort(this.advisors);
150155
if (target == null) {
151156
return null;
152157
}

0 commit comments

Comments
 (0)