Я читал документацию Spring Batch, когда натолкнулся на тот факт, что нам придется использовать другую реализацию интерфейса TaskExecutor (асинхронная версия), если мы будем эффективно запускать пакетные задания извеб-контейнер.
Я предполагаю, что запрос Http вызовет пакетное задание.И, насколько я понимаю, когда клиент запускает задание с помощью метода run интерфейса JobLauncher , клиент должен ждать возврата объекта JobExecution и после типичногопакетное задание будет выполняться часами в конце, это может быть не очень выполнимо, если задания выполняются синхронно.Теперь AsyncTaskExecutor будет выполнять каждый шаг в отдельных потоках и немедленно вернет объект JobExecution со статусом UNKNOWN.
Во-первых, может кто-нибудь объяснить мне, как это работает с точки зрения клиент-сервер соединение ?В каждом случае, не будет ли клиент ждать завершения пакета, прежде чем он завершит сеанс?Или клиент не знает о состоянии завершения пакетного задания?Вся проблема связана с тем, что соединение должно оставаться до конца пакета?
В качестве примера, скажем, клиент имеет веб-страницу, которая отправляет HTTP-запрос на получение, который обслуживается методом doget сервлета.Этот метод вызывает run метод запуска задания.Этот метод возвращает объект JobExecution .А остальная часть истории такая же, как и выше.
Спасибо, Адитья.