Весенняя партия и интеграция - PullRequest
7 голосов
/ 22 ноября 2010

Я новичок в весне, и я должен сделать проект для школы. Какой проект я могу сделать, который я могу использовать Spring Batch и Integration. Я знаю, что могу записывать файлы в каталоги, писать, читать и изменять файлы, разделенные запятыми, но я не могу представить себе сценарий, в котором я могу объединить эти технологии.

Ответы [ 4 ]

5 голосов
/ 29 июня 2014

Я сам не являюсь экспертом в Spring, Spring Batch или Spring Integration, но я могу рассказать вам о практической задаче, которую мне пришлось выполнить в своей организации, чтобы использовать все это по требованию.

Моя компания берет кредитную карту у наших клиентов, когда они регистрируются и списывают их каждые 30 дней.Поэтому каждый день мы должны видеть, кто на 30-й день, и автоматически возобновлять наш сервис для них, взимая с них плату.Поэтому мне приходится ежедневно отправлять данные в банки.

Шаг: 1 Мне пришлось написать программу для получения данных о кредитных картах клиентов, которые должны были быть получены в тот день из нашего обеспеченного банка.базы данных через пакетную программу и запишите это содержимое в определенном формате, который банк желает, во временное местоположение на сервере нашей компании в виде файла .txt (например: /user/someuser/endofdaytransaction/dd-mm-yyyy.txt)

Шаг: 2 Как только содержимое (dd-mm-yyyy.txt) будет доступно в этом каталоге (/ user / oneworld / endofdaytransaction /), я должен подключиться к банкуSFTP-сервер и перенесите файл в каталог, предоставленный нам банком.

Я использую Spring Batch для шага: 1, пакетное задание запускается через планировщик Quartz каждый день в 17:00, а Spring Integration для шага: от 2 допродолжайте опрашивать каталог, и как только файл будет найден, передайте его в банк.

Я также вижу из документов Spring, что я могу сделать гибрид этих технологий, т.е.избегайте записи во временный каталог и попросите Spring Integration напрямую записать на SFTP-сервер банка.

Другой практический пример, о котором я мог подумать: у меня есть AT & T и я подписался на Auto-pay, то есть они выставляют мне счета каждые 30 дней и поддерживают активную связь через Интернет и телефон.Я предоставил AT & T реквизиты своей банковской кредитной карты.Они объединяют все кредитные карты (подписчики) для выставления счетов и отправляют данные в VISA или MASTERCARD, которые необходимо выставлять в виде пакетного файла каждый день в определенное время.Я надеюсь, что вы можете относиться к шагу 1 и шагу 2, которые я упомянул.Счастливого обучения!

4 голосов
/ 22 ноября 2010

но я не могу представить себе сценарий, в котором я могу объединить эти технологии

хорошо, давайте возьмем довольно крупную компанию, которой нужно много пакетных заданий с весенней интеграцией, которую вы могли бы создать.система

  • управляет пакетными заданиями
  • планирует задания в соответствии с ресурсами (например, запускает пакетные задания в определенные временные окна, чтобы не прерывать бизнес в сети)
  • просто запускает / останавливаетзадания
  • предоставляют представления о состоянии задания

на самом деле это просто

  • планирование
  • отчетность
  • управление

с помощью многих концепций корпоративных сообщений см. http://www.eaipatterns.com/, он уже связан в http://www.springsource.org/spring-integration

для вашей области - школьного проекта - и если у вас действительно есть какие-то рабочие места (3 иболее того, вы могли бы создать инструмент пакетного запуска, графический интерфейс пользователя (spring mvc), который предоставляет кнопки для запуска / остановки / мониторинга / просмотра отчетов по этим заданиям, но я думаю, что это действительно большой проект, который может легко охватить многиенедель

3 голосов
/ 09 февраля 2012

Отличный пример интеграции двух (без каламбура) от блоггера SpringSource Дейва Сайера: ПРАКТИЧЕСКОЕ ИСПОЛЬЗОВАНИЕ ВЕСНОЙ ГРУППЫ И ИНТЕГРАЦИИ ВЕСНЫ

1 голос
/ 28 сентября 2013

Давайте на секунду представим, что вы создаете систему оздоровления для Организации по поддержанию здоровья (HMO). Такая система может иметь следующие требования:

  1. Для тех пациентов, которые не проходили оздоровительный экзамен более года, отправьте электронное письмо и / или текстовое сообщение с напоминанием о том, что им необходимо пройти обследование.

  2. Чтобы поощрять пациентов к сдаче оздоровительных экзаменов, разрешите функцию «ответить на» в электронном письме или текстовом сообщении, которая уведомляет администратора о необходимости позвонить, чтобы назначить встречу.

  3. Для тех пациентов, у которых есть хронические заболевания, которые требуют регулярных повторных посещений, отправьте им электронное письмо или отправьте текстовое сообщение.

  4. Пациентам надоедают каждую неделю, пока они не пройдут их оскорбленный осмотр, но из-за любви к здравомыслию, не чаще этого.

Очевидно, что такая оздоровительная система будет иметь базу данных для отслеживания пациентов, которая может иметь такую ​​таблицу:

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.

...