Получить доступ

Для чего предназначен Spring Batch?

JuniorSpring Batch и IntegrationSpring
Ещё спрашивают так:
  • Для каких задач Spring Batch?
Коротко

Пакетная обработка больших объёмов: импорт и выгрузка файлов, перерасчёты, рассылки — чтение, преобразование и запись порциями с сохранением прогресса и перезапуском с места сбоя.

  • Job из Step, шаг — reader, processor, writer
  • Состояние в JobRepository
  • Пропуск и повтор ошибочных записей

А ещё Не для потоковой обработки в реальном времени

Так подсказку видит пользователь sotto на живом собеседовании — за пару секунд, пока вы думаете вслух.

Подробно

Ценность не в самом цикле по данным — его несложно написать руками, — а в том, что сопутствует: метаданные о выполнении сохраняются, поэтому упавшая работа перезапускается не с начала, а с последней успешной порции. К этому добавляются пропуск сбойных записей, повторы, параллельное выполнение шагов и учёт статистики. Обработка порциями заодно ограничивает потребление памяти и длительность транзакции.

Что хотят услышать

  • Назначение и основные понятия.

Частые ошибки

  • Писать пакетную обработку циклом без сохранения прогресса.
  • Обрабатывать весь объём одной транзакцией.

Проверьте себя

Один верный вариант. Подумайте, потом откройте ответ.

Показать варианты и ответ
  • ✓Для пакетной обработки больших объёмов данных с сохранением прогресса и возможностью перезапуска с места сбоя
  • ✗Для обработки HTTP-запросов пачками
  • ✗Для параллельного выполнения задач в пуле потоков
  • ✗Для отправки сообщений в брокер группами

Что спросят дальше

  • Как выбирается размер порции?
  • Что хранится в репозитории заданий?

Разбор темы

Связанные вопросы

Закрытая бета

Подсказки на собеседовании — в реальном времени

sotto слышит вопрос интервьюера и показывает короткий ответ и план, как в блоке «Коротко». Оставьте контакт — пришлём доступ и промокод.

  • Промокод на 2 часа — сверх пробных 30 минут
  • Программа для Windows — скачать сразу, войти — через Яндекс ID или VK ID
  • Прямая связь с разработчиком: что улучшить — сделаем