Это моя первая попытка сделать асинхронную программу с Java.
Мое требование заключается в том, чтобы при получении запроса мне приходилось начинать задание, которое может занять час. Поэтому я немедленно ответил пользователю, что «задание началось» до его завершения. Я забавляю apache timcat версии 8.5.23.
Я предполагал, что AsyncContext.start()
поможет мне, но я обнаружил, что AsyncContext не вернет ответ клиенту, пока он не вызовет onComplete(AsyncEvent event)
.
Можно ли как-то ответить пользователю до того, как onComplete(AsyncEvent event)
произойдет?
Я видел похожий вопрос Как выполнить код после ответа в JavaEE .
Я слышал, что https://vertx.io/docs/guide-for-java-devs/ может помочь мне, но прежде чем погрузиться вглубь; Мне интересно, есть ли другой лучший способ или технология, чтобы сделать это?
Заранее спасибо.