Моему приложению Grails 1.3.7 необходимо обрабатывать большие XML-файлы, поэтому у меня есть контроллер, на который я загружаю большой файл, а затем я указываю путь этого файла на сервере в фоновый поток, который выполняет обработку так,что я могу сразу вернуться из действия контроллера.
На данный момент я использую плагин Grails Executor, и он работает нормально.У меня есть объект Домена загрузки, который обновляется в процессе обработки (текущее состояние, количество обработанных элементов и т. Д.).Но теперь у меня есть еще 2 требования:
- , когда приложение аварийно завершает работу или сервер выключен, я хотел бы перехватить это и обновить свой домен для загрузки, чтобы сообщить, что процесс был прерван
- Я хочу, чтобы пользователь мог сам прервать обработку при нажатии на ссылку и, возможно, возобновить ее из действий контроллера
Есть ли способ сохранить ссылку на мою фоновую задачу и перехватить любуюпрерывание фреймворка java.util.concurrent (который используется плагином Executor)?
А если я не могу сделать это с помощью util.concurrent, возможно ли это с другими плагинами / фреймворками?Например, я взглянул на Кварц, но не понимаю, как это сделать.