in common/src/main/java/org/jetbrains/teamcity/vault/support/LifecycleAwareSessionManager.java [207:231]
protected void scheduleRenewal() {
VaultToken token = this.token;
if (token instanceof LoginToken) {
final Runnable task = new Runnable() {
@Override
public void run() {
scheduled = null;
try {
if (isTokenRenewable()) {
boolean mayRenewAgainLater = renewToken();
if (mayRenewAgainLater) {
scheduleRenewal();
}
}
} catch (Exception e) {
logger.error("Cannot renew HashiCorp Vault token: " + e.getMessage());
LOG.error("Cannot renew HashiCorp Vault token", e);
}
}
};
Date startTime = refreshTrigger.nextExecutionTime((LoginToken) token);
LOG.info("Scheduling HashiCorp Vault token refresh to " + startTime);
scheduled = taskScheduler.schedule(task, startTime);
}
}