2011-03-09 3 views
4

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

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

ответ

6

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

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

+0

Я согласен с этой оценкой по большей части, но помните, что весенняя партия не является панацеей. Нижняя сторона к Spring Batch (или любой фреймворк) заключается в том, что для некоторых задач вы можете потратить часы, пробираясь через код рамки, чтобы выяснить, почему что-то не работает. Единственным симптомом для многих проблем (второстепенным и крупным) является то, что материал просто не работает, и ведение журнала не очень хорошо говорит вам, чего там нет. Возможно, когда-нибудь Spring добавит класс «читать программистов» в свой стек. –