Browse Source

DelegatingSecurityContextTaskScheduler implements new Methods

Closes gh-11474
Rob Winch 3 years ago
parent
commit
03cd9920aa

+ 32 - 0
core/src/main/java/org/springframework/security/scheduling/DelegatingSecurityContextTaskScheduler.java

@@ -16,6 +16,9 @@
 
 package org.springframework.security.scheduling;
 
+import java.time.Clock;
+import java.time.Duration;
+import java.time.Instant;
 import java.util.Date;
 import java.util.concurrent.ScheduledFuture;
 
@@ -96,6 +99,35 @@ public class DelegatingSecurityContextTaskScheduler implements TaskScheduler {
 		return this.delegate.scheduleWithFixedDelay(wrap(task), delay);
 	}
 
+	@Override
+	public ScheduledFuture<?> schedule(Runnable task, Instant startTime) {
+		return delegate.schedule(wrap(task), startTime);
+	}
+
+	@Override
+	public ScheduledFuture<?> scheduleAtFixedRate(Runnable task, Instant startTime, Duration period) {
+		return delegate.scheduleAtFixedRate(wrap(task), startTime, period);
+	}
+
+	@Override
+	public ScheduledFuture<?> scheduleAtFixedRate(Runnable task, Duration period) {
+		return delegate.scheduleAtFixedRate(wrap(task), period);
+	}
+
+	@Override
+	public ScheduledFuture<?> scheduleWithFixedDelay(Runnable task, Instant startTime, Duration delay) {
+		return delegate.scheduleWithFixedDelay(wrap(task), startTime, delay);
+	}
+
+	@Override
+	public ScheduledFuture<?> scheduleWithFixedDelay(Runnable task, Duration delay) {
+		return delegate.scheduleWithFixedDelay(wrap(task), delay);
+	}
+	@Override
+	public Clock getClock() {
+		return this.delegate.getClock();
+	}
+
 	private Runnable wrap(Runnable delegate) {
 		return DelegatingSecurityContextRunnable.create(delegate, this.securityContext);
 	}