Spring / Java метод резюме / работа - PullRequest
0 голосов
/ 27 февраля 2019

У меня есть метод, который состоит из пяти команд, некоторые из них являются вызовами отдыха для внешней системы, некоторые подсчитывают некоторые значения, а некоторые просто сохраняют что-то в базе данных.

Может случиться, что такой метод завершится неудачнои исключение выбрасывается.Каждый шаг выдает уникальное исключение, поэтому у меня есть информация, какой шаг не выполнен, и могу ли я возобновить поток позже (скажем, я всегда могу возобновить).У меня есть один основной объект, который можно рассматривать как контекст выполнения, поэтому в случае ошибки я могу сохранить этот объект с информацией, с какого шага продолжить, и могу легко восстановить этот контекст.

Возобновление будет выполненопозже, вручную или с какой-либо работы, которая читает мои объекты и решает, нужно ли их возобновлять.

Поскольку у меня много таких составных / возобновляемых команд, я ищу библиотеку, которая поможет мне управлятьв общем случае.

Возможности, которые я обнаружил:

  • Spring Retry (и многие подобные библиотеки) - не удается возобновить, только перезапустите
  • , используяФреймворки рабочих процессов - они обычно тяжелые и довольно сложные
  • Spring Batch - также довольно тяжелые и сложные, но поддерживают возобновление
  • Фреймворки заданий, такие как Quartz - похоже, не поддерживают возобновление

Есть еще идеи?

...