Как я могу начать работу с весенней партией?[закрыто]
-
05-07-2019 - |
Вопрос
Я пытаюсь учиться Весенняя партия, но тот руководство по запуску это очень сбивает с толку.Комментарии, подобные
Вы можете получить довольно хорошее представление о том, как настроить задание, изучив модульные тесты в пакете org.springframework.batch.sample (в src / main / java) и настройка в src/main/ресурсы/ задания.
это не совсем полезно.Также я нахожу пример проекта очень сложным (17 непустых пространств имен с 109 классами)!Есть ли более простое место для начала работы с весенней партией?
Решение
Несколько советов:
Другие советы
Я согласен, что руководство пользователя очень запутанное (во всяком случае, по сравнению с руководством пользователя Spring Core).В нем неадекватно рассматриваются некоторые очень важные ошибки, с которыми вы столкнетесь в любом умеренно сложном пакетном сценарии.
Важными вещами, с которыми вам следует ознакомиться как новичку и определить свои требования, являются,
- настройка исключений (когда пропустить, когда потерпеть неудачу, когда повторить попытку)
- использование контекста выполнения для поддержания состояния (например, когда использовать контекст выполнения шага по сравнению с контекстом выполнения задания).
- общее поддержание состояния (используйте область действия, особенно для входных параметров)
Однако стоит проявить настойчивость.Пакетное программирование сильно отличается от других стилей на стороне сервера и значительно выигрывает от обычного подхода Spring к "абстракции шаблонов".
Перед тем, как прыгнуть на универсал Spring Batch, вы, возможно, захотите прочитать, что собственный центр SO говорит о своих недостатках:
http: // www.cforcoding.com/2009/07/spring-batch-or-how-not-to-design-api.html .
Я недавно оценил Spring Batch и быстро отклонил его, как только понял, что он ничего не добавил к моему проекту, кроме раздувания и накладных расходов. Spring Batch может в конечном итоге стать продуктом «ОК» (так же, как в этот раз EJB сделали это правильно), но на данный момент это выглядит подозрительно, как решение в поиске проблемы. Р>
Недавно я по-настоящему попробовал весеннюю партию.Я скажу, что в моей реализации я использовал репозиторий в памяти (потому что перезапуски и повторные попытки не были приоритетом в условиях моего проекта), но я могу оценить то, что Ричард говорит о JobRepository:по сути, вам нужно копнуть поглубже, чтобы найти схему базы данных.
Для Spring Batch 2.1 они предоставляют некоторую документацию по репозиторию: http://static.springsource.org/spring-batch/reference/html/metaDataSchema.html, включая обсуждения о том, как работать с реализациями, специфичными для конкретной базы данных.DDL для создания таблиц находится в основном JAR-файле Spring Batch:
spring-batch-core-2.1.0.RELEASE.jar:/org/springframework/batch/core/*.sql
Сценарии присутствуют для DB2, Derby, H2, HSQLDB, MySQL, Oracle 10g, PostgreSQL, MS SQL и Sybase.
В этом руководстве мы создадим простое приложение Spring Batch, чтобы продемонстрировать, как обрабатывать серию заданий, где основной целью является импорт списков записей с разделителями-запятыми и фиксированной длины. Кроме того, мы добавим веб-интерфейс, использующий Spring MVC, для обучения ручному запуску заданий и визуальной проверки импортированных записей. На уровне данных мы будем использовать JPA, Hibernate и MySQL.
<Ол>https://github.com/langmi/spring-batch-examples р>
Это содержит несколько довольно хороших основных примеров. Р>
Я только начал рассматривать Spring Batch как возможную замену нашей собственной пакетной среде. На самом деле создание пакетного сервера с возможностью планирования заданий и интерфейса JMX сверху для предоставления обзора запущенных / ранее запущенных экземпляров заданий заняло чуть больше суток. Однако, как и Caoilte, я нахожу проблемы с документацией. Основной и тот, которого нет в документации или javadocs, - это то, какие таблицы требуются JobRepository. По умолчанию используется постоянная база данных JobRepository, что является одним из требований моего нового сервера, но я не могу найти упоминания о необходимых таблицах. Мне приходилось искать в Google как можно больше упоминаний о них (если они есть в документации, то я с удовольствием посолю свой скромный пирог). Р>
Я думаю, что на самом деле создание пакета для запуска в Spring Batch - это довольно сложная задача, учитывая широкий спектр доступных вам вариантов конфигурации. Это сила в моих глазах. Он предоставляет возможности для настройки сложных пакетных задач в xml, которые мне еще предстоит найти в любой другой пакетной среде (о которой я знаю). Но если вы действительно не хотите использовать всю мощь Spring Batch, почему бы просто не создать работу с помощью одного шага тасклета (но тогда вы должны спросить себя, стоит ли это накладных расходов).
Жаль, что вы, ребята, отказались от этого, фреймворк на самом деле действительно отличный.Но если кому-то еще нужно быстро начать, попробуйте: Быстрый запуск весенней партии
/Анатолий