Мне нужно поворачивать ключ пользователя IAM каждые 28 дней, используя Java API.У меня есть рабочий API, который создаст новый ключ и удалит старый.Однако проблема заключается в интеграции этого с моим текущим приложением, чтобы через 28 дней он запустил мой метод и сгенерировал новый файл учетных данных.
Основное приложение будет работать все время.Наряду с этим, у меня будет один метод, который создаст этот файл учетных данных, и он должен запускаться только через 28 дней после последнего обновления времени файла.
Как запустить процесс создания файла каждые 28 дней?Я имею в виду, как рассчитать или запустить этот метод через 28 дней после последнего создания?
Я использую Quartz, чтобы запланировать запуск этого метода, но я запутался в подсчете количества дней и его запуске.
Вот то, что я использую:
public static void main(String[] args) throws Exception {
JobDetail job = new JobDetail();
job.setName("dummyJobName");
job.setJobClass(HelloJob.class);
// configure the scheduler time
File file = new File("C:\\Users\\u6034690\\.aws\\credentials");
Date lastModifiedDate = new Date(file.lastModified());
SimpleDateFormat sdf = new SimpleDateFormat("MM/dd/yyyy HH:mm:ss");
String strFormatedLastModifedDate = sdf.format(lastModifiedDate);
System.out.println("After Format : " + strFormatedLastModifedDate);
Calendar c = Calendar.getInstance();
c.setTime(lastModifiedDate); // Now use today date.
c.add(Calendar.DATE, 28); // Adding 28 days
String output = sdf.format(c.getTime());
System.out.println(output);
Date millisd = c.getTime();
long millis = millisd.getTime();
System.out.println(millis);
SimpleTrigger trigger = new SimpleTrigger();
trigger.setName("Test");
trigger.setStartTime(new Date(System.currentTimeMillis() + 1000));
trigger.setRepeatCount(SimpleTrigger.REPEAT_INDEFINITELY);
trigger.setRepeatInterval(30000);
// schedule it
Scheduler scheduler = new StdSchedulerFactory().getScheduler();
scheduler.start();
scheduler.scheduleJob(job, trigger);
}
Проблема в следующей части:
trigger.setRepeatInterval(30000);