Revert "Dispose default Scheduler"

This reverts commit 39600b901f.
This commit is contained in:
Rob Winch 2019-09-30 15:15:40 -05:00
parent 8bc3ad16ef
commit 1bf0e70bd0
2 changed files with 2 additions and 40 deletions

View File

@ -18,7 +18,6 @@ package org.springframework.security.authentication;
import org.apache.commons.logging.Log;
import org.apache.commons.logging.LogFactory;
import org.springframework.beans.factory.DisposableBean;
import reactor.core.publisher.Mono;
import reactor.core.scheduler.Scheduler;
import reactor.core.scheduler.Schedulers;
@ -46,7 +45,7 @@ import org.springframework.util.Assert;
* @author Eddú Meléndez
* @since 5.2
*/
public abstract class AbstractUserDetailsReactiveAuthenticationManager implements ReactiveAuthenticationManager, DisposableBean {
public abstract class AbstractUserDetailsReactiveAuthenticationManager implements ReactiveAuthenticationManager {
protected final Log logger = LogFactory.getLog(getClass());
@ -56,9 +55,7 @@ public abstract class AbstractUserDetailsReactiveAuthenticationManager implement
private ReactiveUserDetailsPasswordService userDetailsPasswordService;
private final Scheduler DEFAULT_SCHEDULER = Schedulers.newParallel("password-encoder");
private Scheduler scheduler = this.DEFAULT_SCHEDULER;
private Scheduler scheduler = Schedulers.newParallel("password-encoder");
private UserDetailsChecker preAuthenticationChecks = user -> {
if (!user.isAccountNonLocked()) {
@ -174,8 +171,4 @@ public abstract class AbstractUserDetailsReactiveAuthenticationManager implement
*/
protected abstract Mono<UserDetails> retrieveUser(String username);
@Override
public void destroy() {
this.DEFAULT_SCHEDULER.dispose();
}
}

View File

@ -33,8 +33,6 @@ import org.springframework.security.core.userdetails.ReactiveUserDetailsService;
import org.springframework.security.core.userdetails.UserDetails;
import org.springframework.security.crypto.password.PasswordEncoder;
import reactor.core.publisher.Mono;
import reactor.core.scheduler.Scheduler;
import reactor.core.scheduler.Schedulers;
import reactor.test.StepVerifier;
/**
@ -138,33 +136,4 @@ public class ReactiveUserDetailsServiceAuthenticationManagerTests {
.expectError(BadCredentialsException.class)
.verify();
}
@Test
public void destroyWhenDefaultSchedulerThenShouldDispose() {
assertThat(manager.scheduler.isDisposed()).isFalse();
manager.destroy();
assertThat(manager.scheduler.isDisposed())
.as("default Scheduler should be disposed")
.isTrue();
}
@Test
public void destroyWhenCustomSchedulerThenShouldNotDispose() {
manager.setScheduler(Schedulers.parallel());
manager.destroy();
assertThat(manager.scheduler.isDisposed())
.as("custom Scheduler should not be disposed")
.isFalse();
}
@Test
public void setSchedulerWhenSetCustomSchedulerThenDisposeDefault() {
Scheduler defaultScheduler = manager.scheduler;
assertThat(defaultScheduler.isDisposed()).isFalse();
manager.setScheduler(Schedulers.parallel());
assertThat(defaultScheduler.isDisposed())
.as("default Scheduler should be disposed")
.isTrue();
}
}