Является ли Spring Batch излишним - PullRequest
5 голосов
/ 09 марта 2011

Мне нужно загружать CSV в базу данных один раз в неделю. Необходим некоторый массаж данных, поскольку в файле CSV содержатся данные для 2 таблиц. Поэтому мне придется немного обработать CSV-файл, возможно, преобразовать его в 2 разных CSV-файла и загрузить в базу данных.

У меня уже настроен кварц на месте. Как вы думаете, было бы излишним использовать весеннюю партию для выполнения этой работы? Мне интересно, когда я должен его использовать, а когда мне нужно просто покончить с кварцевыми бобами, сделать саму обработку.

Ответы [ 2 ]

6 голосов
/ 09 марта 2011

Spring Batch идеально подходит для такого рода работ, потому что уменьшает деталей, которые вам нужны.В этом случае все, что вам нужно, - это массировать данные, а затем вставлять их в две разные таблицы.Вы можете прочитать данные, используя FileItemReader.Затем используйте ItemProcessor, чтобы изменить любые входящие данные и вывести правильные данные, правильно обработанные.Вы предоставляете itemProcessor, поскольку это ваша пользовательская логика Java.Тогда вы можете использовать JdbcItemWriter или просто подключить свой собственный.

Самое приятное в этом то, что это [a] супер обычное дело, так что есть много, много и много примеров (см .: Spring Batch 2.0 -Часть II - Плоский файл в базу данных или joshlong / joshlong-examples / spring-batch-starter или образцы из самой Spring Spring для вдохновения) и [b] это в основномдекларативный.Вам не нужно беспокоиться о вещах, которые вас не волнуют - вы не разбираетесь в том, как правильно анализировать файлы CSV или даже в том, как считывать файлы масштабируемым образом.Вы просто хотите убедиться, что данные действительны, и убедитесь, что они заканчиваются тем, что должны заканчиваться.

0 голосов
/ 22 января 2019

Spring Batch добавляет дополнительные требования и затраты на обслуживание:

  • Вы должны структурировать свой код в String Batch идиоматическим способом (реализовать их интерфейсы).
  • Вам нужно написать несколько конфигов XML или Java - один дополнительный DSL для изучения.
  • Вам нужен инструмент администратора для запуска / остановки / мониторинга выполнения. Spring Batch Admin официально устарел и не поддерживается.
  • Вам необходимо вести таблицы BATCH_, определять стратегию индекса (по умолчанию отсутствует), определять периодические очистки таблиц.
  • Я изучил Spring Batch через сеансы отладки и исходный код, поскольку документация затрагивает только простые случаи (например, CSV -> DB).
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...