2012-05-18 3 views
2

Поддерживает ли Apache Camel Spring Batch? Я - моя партия с использованием верблюжьих маршрутов. Теперь мы хотим перейти на Spring Batch, но не уверены, могут ли мои верблюжий маршрут интегрироваться с Spring.Интеграция Apache Camel с Spring Spring

+1

Похоже, что он поддерживает. http://camel.apache.org/springbatch.html –

+0

Да, поскольку Camel 2.10.0. –

ответ

3

Обновленный ответ: Spring партия поддерживается в Camel 2.10

http://camel.apache.org/springbatch.html

По существу Spring Batch компонент в Camel будет иметь возможность запускать пружинные пакетные задания формируют маршрут.

Пример: from("direct:startBatch").to("spring-batch:myJob"); где «myJob» - это весеннее пакетное задание, определенное в другом месте.

Все заголовки верблюдов в обмене отправляются как параметр для весеннего пакетного задания.

+1

Поскольку Camel 2.10 Spring Batch поддерживается Camel. Можете ли вы обновить свой ответ? –

+0

Конечно, теперь, когда он там –

0

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

Apache Camel для решения проблемы интеграции и Spring Batch для обработки в пакетном режиме.

Для интеграции требуется маршрут верблюда apache и для пакетной обработки весеннего пакетного задания.

Подробнее,

Apache Camel маршрут будет построен, чтобы выбрать любой упал CSV-файл и запустить весеннюю партию.

** Примечание: ** Я не предоставляю подробные сведения о том, что сделает Spring Batch Job. Предположим, что его JOB просто обрабатывает файл.

@Value("${dir.location}") 
private String dropLocation; 

@Override 
public void configure() throws Exception { 

    from(
      "file:" 
        + dropLocation 
        + "?delay=550&include=.*.csv&moveFailed=error") 
      .to("spring-batch:anyFileProcessingJob?jobLauncherRef=fileProcessingJobLauncher"); 
} 

Apache Camel настроен с использованием маршрута выше, чтобы выбрать любые файлы, упавшие в папку "dropLocation". Camel будет следить за папкой, и если какой-либо файл будет сброшен, запускается Spring Batch JOB.

Здесь любой файл, упавший в сконфигурированной папке «dropLocation», верблюд запускает задание anyFileProcessingJob, а ссылка на запуск задания будет fileProcessingJobLauncher.

«fileProcessingJobLauncher» выполнит пакетное задание, и при необходимости необходимые параметры могут быть переданы заданию из «fileProcessingJobLauncher».