Сохранение состояний выполнения операции Java
Подскажите пожалуйста. Есть web интерфейс, который загружает через UI в браузере файл. Файл на сервере валидируется, парсится и уже на основе данных из файла создаются сущности в базе. Сейчас реализовано так: в процессе выполнения кода, в базу сохраняется статус выполнения, это нужно для UI, который постоянно запрашивается статус и показывает анимацию выполнения в браузере.
Вопрос. С помощью чего и каких технологий и в какую сторону копать, чтобы избавится от сохранения состояний в базу. То есть нужен механизм на Java, с помощью которого можно будет узнавать статус этой операции либо результат выполнения. Или вообще подскажите как это грамотно делается, когда есть какая то относительно долгая операция, и чтобы не блокировать UI мы должны где-то сохранять состояния выполнения.