Я ищу общую асинхронную структуру выполнения Java-задач, которая может обрабатывать Callable
s или Runnable
s. Это было бы похоже на java.util.concurrent.ExecutorService
, (и, возможно, завернуть ExecutorService
), но он также будет иметь следующие характеристики:Поиск общей структуры асинхронной реализации Java/Библиотека
Способность сохраняться работу в базу данных в случае, если приложение идет вниз в то время как работа в настоящее время обслуживается , и иметь возможность перезапуска незавершенных заданий. (Я понимаю, что моей работе, возможно, придется реализовать
Serializable
, который в порядке.)Работа с UUID, позволяющая клиенту получать токены и запрашивать статус задания. (Под капотом эта информация будет сохраняться в базе данных, а также.)
Я начал работать над этим сам, построив вокруг ExecutorService
, но я предпочел бы из коробки, решение с открытым исходным кодом, если таковая существует.
Что-то, что могло бы работать в Spring Framework, было бы идеальным.
URL, устарело, попробуйте этот [мастер-рабочий с терракотовой] (HTTP: // www.infoq.com/articles/master-worker-terracotta) –