Я начинаю весну, и мне нужно сделать проект для школы. Какой проект я могу сделать, чтобы использовать Spring Batch и Integration. Я знаю, что я могу писать файлы в директории, писать, читать и редактировать файлы, разделенные запятыми, но я не могу представить сценарий, с помощью которого я могу объединить эти технологии.Весенняя партия и интеграция
ответ
, но я не могу представить себе сценарий, который я могу объединить эти технологии
хорошо бросит довольно большую компанию, которая требует много batchjobs с пружинной интеграцией вы можете настроить систему
- управлять batchjobs
- план заданий по ресурсам (например, запускать batchjobs в определенных временных окнах, чтобы не нарушать бизнес онлайн)
- просто запустить/остановить работу
- обеспечивает просмотры Статуса работы
на самом деле его просто
- планирование
- отчетность
- управляющего
через много сообщений предприятия концепции см http://www.eaipatterns.com/ его уже связаны в http://www.springsource.org/spring-integration
для вашей сферы - школы проекта - и если у вас есть на самом деле некоторые работы (3 и более), а можно создать пакетный стартовый инструмент, графический пользовательский интерфейс (Spring MVC), который обеспечивает кнопки для запуска/остановки/мониторинга/просмотра отчетов для этих заданий, но я думаю, что это действительно большой проект, который может легко охватывать многие человеко-недели.
Существует отличный пример интеграции двух (без каламбуров) из блогер SpringSource Дейв Сиер: PRACTICAL USE OF SPRING BATCH AND SPRING INTEGRATION
Давайте представим на мгновение, что вы строите оздоровительную систему для здоровья (HMO). Такая система может иметь следующие требования:
Для тех пациентов, которые не получили оздоровительный экзамен в течение года, отправить по электронной почте и/или текстовое сообщение, напоминающие им, что они нуждаются в медосмотре.
Чтобы поощрить пациентов к сдаче экзаменов на велнес-услуги, позвольте «отвечать» на электронную почту или текстовое сообщение, которое уведомляет регистратора о необходимости назначить встречу.
Для тех пациентов, у которых есть хронические состояния, которые требуют регулярных визитов, электронной почты или их текста.
Ухаживать за пациентами каждую неделю, пока они не получат свой взорванный осмотр, но для любви к здравомыслию, не чаще, чем это.
Очевидно, что такой оздоровительный система будет иметь базу данных, чтобы следить за пациентами, которые могли бы иметь таблицу, как это:
CREATE TABLE patient
(
patient_id INTEGER,
first_name VARCHAR2(255) NOT NULL,
last_name VARCHAR2(255) NOT NULL,
last_checkup_date DATE,
follow_up_days INTEGER
email_address VARCHAR2(255),
mobile_nbr VARCHAR2(255),
last_notify_date DATE,
PRIMARY KEY(patient_id)
);
Для текстовых сообщений, то есть идеальный случай для JMS , Вы можете использовать HornetQ, RabbitMQ, ActiveMQ или множество других.
Теперь остановитесь на мгновение и подумайте обо всем коде, который вы должны были бы написать, если бы вы сделали это в прямой Java. Для требований, которые я только что упомянул, вы можете написать это приложение без одной строки кода Java.
Я не являюсь экспертом по весеннему или весеннему пакетному или весеннему интегрированию, но я могу сказать вам практическую задачу, которую я должен был сделать в своей организации, чтобы использовать все эти требования для этого.
Наша компания берет кредитную карту у наших клиентов, когда они подписываются и взимают их каждые 30 дней. Поэтому каждый день мы должны видеть, кто на 30-й день, и авторизовать наше служение им, заряжая их. Поэтому я должен ежедневно отправлять данные в банки.
Шаг: 1 я должен написать программу, чтобы получать информацию о кредитной карте клиентов за этот день из наших защищенной базы данных с помощью программы пакетной обработки и записи этого контента в определенном формате, что банк желает во временное место в сервере нашей компании, как «.txt» (Ex: /user/someuser/endofdaytransaction/dd-mm-yyyy.txt)
Шаг: 2 Как только содержание (дд-мм-гггг. txt) доступен в этом каталоге (/ user/oneworld/endofdaytransaction /) Мне нужно подключиться к серверу SFTP банка и перенести файл в каталог, который предоставил нам банк.
Я использую Spring Batch для шага: 1, пакетное задание запускается через планировщик кварца каждый день в 5 вечера, а интеграция Spring для шага: 2, чтобы продолжать опрос каталога и как только файл найден, переведите его в банк.
Я также вижу из документов Spring, что могу сделать mashup этих технологий, то есть я могу избежать записи во временный каталог и попросить Spring Integration напрямую написать на SFTP-сервер банка.
Другие практические примеры, о которых я мог подумать: у меня есть AT & T и подписаны на автоматическую оплату, то есть они оплачивают мне каждые 30 дней и поддерживают мой интернет и телефонную службу. Я предоставил AT & T информацию о моей кредитной карте. Они объединяют все кредитные карты (абоненты), которые будут выставлены на счет, и отправляют данные в VISA или MASTERCARD, которым каждый день необходимо указывать пакетный файл в определенное время. Надеюсь, вы можете рассказать о шаге 1 и шаге 2, о котором я говорил. Счастливое обучение!
Spring batch admin http://docs.spring.io/spring-batch-admin/ теперь доступен для управления пакетными заданиями gui –