У меня была похожая проблема: у меня есть второй триггер, который запускает задание с сохранением состояния, которое работает в очереди на карте данных задания. Каждый раз, когда задание запускается, оно опрашивает очередь и выполняет некоторую работу с опрашиваемым элементом. При каждом выполнении задания очередь имеет на один элемент меньше (очередь корректно обновляется изнутри задания). Когда очередь пуста, задание отменяется.
Я хотел иметь возможность внешне обновлять список аргументов текущего задания / триггера, чтобы предоставить больше аргументов в очередь. Однако простого извлечения карты данных и обновления очереди было недостаточно (следующее выполнение показывает, что очередь не обновлена). Проблема заключается в том, что Quartz обновляет карту данных задания только после выполнения.
Вот решение, которое я нашел:
JobDetail jobDetail = scheduler.getJobDetail("myJob", "myGroup");
jobDetail.getJobDataMap.put("jobQueue", updatedQueue);
scheduler.addJob(jobDetail, true);
Последняя строка указывает Quartz заменить сохраненное задание тем, которое вы предоставляете. При следующем запуске задания оно увидит обновленную очередь.