diff --git a/pom.xml b/pom.xml
index 543c1772..286b332d 100644
--- a/pom.xml
+++ b/pom.xml
@@ -27,7 +27,7 @@
1.6.2
1.10.3-jdk8
3.8.0
- 6.0.0-M4
+ 6.0.0-SNAPSHOT
2022.0.0-M4
5.4.5
2020.0.13
diff --git a/spring-vault-core/src/main/java/org/springframework/vault/authentication/LifecycleAwareSessionManagerSupport.java b/spring-vault-core/src/main/java/org/springframework/vault/authentication/LifecycleAwareSessionManagerSupport.java
index d4efbdeb..6feb9b03 100644
--- a/spring-vault-core/src/main/java/org/springframework/vault/authentication/LifecycleAwareSessionManagerSupport.java
+++ b/spring-vault-core/src/main/java/org/springframework/vault/authentication/LifecycleAwareSessionManagerSupport.java
@@ -16,6 +16,7 @@
package org.springframework.vault.authentication;
import java.time.Duration;
+import java.time.Instant;
import java.util.Date;
import java.util.concurrent.TimeUnit;
import java.util.concurrent.atomic.AtomicBoolean;
@@ -195,6 +196,14 @@ public abstract class LifecycleAwareSessionManagerSupport extends Authentication
return null;
}
+ @Override
+ public Instant nextExecution(TriggerContext triggerContext) {
+ if (this.fired.compareAndSet(false, true)) {
+ return this.nextExecutionTime.toInstant();
+ }
+
+ return null;
+ }
}
/**
diff --git a/spring-vault-core/src/main/java/org/springframework/vault/core/lease/SecretLeaseContainer.java b/spring-vault-core/src/main/java/org/springframework/vault/core/lease/SecretLeaseContainer.java
index 1552a178..30ef3534 100644
--- a/spring-vault-core/src/main/java/org/springframework/vault/core/lease/SecretLeaseContainer.java
+++ b/spring-vault-core/src/main/java/org/springframework/vault/core/lease/SecretLeaseContainer.java
@@ -16,6 +16,7 @@
package org.springframework.vault.core.lease;
import java.time.Duration;
+import java.time.Instant;
import java.util.Date;
import java.util.HashMap;
import java.util.HashSet;
@@ -948,6 +949,15 @@ public class SecretLeaseContainer extends SecretLeaseEventPublisher implements I
return null;
}
+ @Override
+ public Instant nextExecution(TriggerContext triggerContext) {
+ if (UPDATER.compareAndSet(this, STATUS_ARMED, STATUS_FIRED)) {
+ return Instant.ofEpochMilli(System.currentTimeMillis() + TimeUnit.SECONDS.toMillis(this.seconds));
+ }
+
+ return null;
+ }
+
}
/**