2010-11-22 3 views
6

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

ответ

3

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

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

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

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

  • планирование
  • отчетность
  • управляющего

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

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

+0

Spring batch admin http://docs.spring.io/spring-batch-admin/ теперь доступен для управления пакетными заданиями gui –

0

Давайте представим на мгновение, что вы строите оздоровительную систему для здоровья (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.

4

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

Наша компания берет кредитную карту у наших клиентов, когда они подписываются и взимают их каждые 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, о котором я говорил. Счастливое обучение!