Я использую Spring Boot версии 2.0.6.RELEASE
У меня есть следующий метод API
@RequestMapping(value = "/searchData", produces = { MediaType.APPLICATION_JSON_VALUE }, method = RequestMethod.GET)
public Future<List<DataEntryBean>> getSearchData() {
return CompletableFuture.supplyAsync(() -> {
List<DataEntryBean> dataList = dataService.getSearchData();
return dataList;
});
}
Метод getSearchData для запуска занимает около 40 секунд.Через 30 секунд мой код завершается с отображением в журналах следующего сообщения:
Resolved [org.springframework.web.context.request.async.AsyncRequestTimeoutException]
И следующий ответ json возвращает
{
"timestamp": 1544094968149,
"status": 503,
"error": "Service Unavailable",
"message": "No message available",
"path": "/searchData"
}
Метод getSearchData () продолжает выполняться ив итоге в логах показывается как завершающий.Если я удаляю возвращаемый тип Future и просто возвращаю список - код работает нормально.Я пробовал следующие свойства, но безуспешно, к сожалению.
spring.mvc.async.request-timeout=-1
server.connection-timeout=-1
Кто-нибудь знает, что мне нужно сделать, чтобы решить эту проблему, и все еще позволяет мне возвращать тип Future?
Спасибо, Дэмиен