Я пытаюсь сделать контроллер, который экспортирует данные в excel. Экспорт занимает много времени. Я хочу, чтобы пользователь сразу же вернулся на страницу запроса после нажатия кнопки «экспорт» и процесс продолжился в фоновом режиме.
Я искал CompletableFuture
, но не могу отцепить запрос.
Это мой контроллер:
@RequestMapping(value = "/entity", method=RequestMethod.POST)
public ModelAndView getExcel(@RequestParam String exportType) throws Exception, SQLException{
return new ModelAndView(new ExcelReportView("entity"),"entityList",
service.factoryEntityToModelAsync(service.find(new entity())));
}
это мой asyn c метод:
@Override
@Async("asyncExecutor")
public CompletableFuture <List<Entity>> factoryEntityToModelAsync(List<entity> entitys) throws Exception{
List<entity> res = new ArrayList<>();
some calculation....
return CompletableFuture.completedFuture(res);
}