Запустите приложение Spring Batch (JSR-352) в Spring Boot - PullRequest
0 голосов
/ 28 мая 2019

У меня есть простое приложение Spring Batch, соответствующее JSR-352.

Мне нужно развернуть это как управляемую задачу на сервере Spring Cloud Data Flow. Насколько я знаю - чтобы развернуть это как задачу, мне нужно преобразовать это приложение в приложение Spring Boot.

Я пытался добавить зависимости Spring Boot и класс Main, однако он не запускает пакетное задание при запуске приложения.

Основной класс

@SpringBootConfiguration
@EnableAutoConfiguration
@EnableBatchProcessing
public class Application {

    public static void main(String[] args) {
        SpringApplication.run(Application.class, args);
    }

}

Пакетный файл, созданный в

META-INF/batch-jobs/myjob.xml

Это работает, когда я использую JobOperator в основном классе для запуска задания (без Spring Boot).

Чего мне не хватает, чтобы запустить его как приложение Spring Boot?

1 Ответ

1 голос
/ 28 мая 2019

Вам не хватает @EnableTask аннотации.При этом ваше пакетное задание будет запущено как недолговечное приложение.Другими словами, приложение будет работать до тех пор, пока должна работать бизнес-логика в вашем XML, и оно будет корректно закрывать и освобождать ресурсы.

Пожалуйста, клонируйте и попробуйте образцы Spring Cloud Task [см .: BatchJobApplication].Все они должны работать как есть в SCDF.

...