簡體   English   中英

如何使用 CommandLineJobRunner 調用嵌入在 Spring Boot 應用程序中的 Spring Batch 作業

[英]How to invoke Spring Batch Jobs embedded in a Spring Boot Application using CommandLineJobRunner

我有一個 Spring Boot 應用程序,它有 2 個模塊。 首先是一個 web 模塊,它公開了一個 rest API,它允許用戶將一些數據導入到應用程序中。 第二個模塊是一組批處理作業,它們作用於這些配置並執行后台處理。

我能夠在應用程序中創建 REST API 和批處理作業,作為起點,我使用 REST 端點使用 JobLauncher 啟動我的批處理作業。

我的下一個任務是打包應用程序並部署 Web 應用程序以公開 REST 端點,並創建 shell 腳本以使用企業調度程序啟動批處理作業。

我正在使用 Maven 和 spring-boot-maven-plugin 來構建可執行 jar。 但是,當我執行java -jar myApp.jar REST API 時,當我嘗試通過執行java -cp myApp.jar org.springframework.batch.core.launch.support.CommandLineJobRunner com.example.myJobConfig job1 runDate=2020-02-29來運行批處理作業時java -cp myApp.jar org.springframework.batch.core.launch.support.CommandLineJobRunner com.example.myJobConfig job1 runDate=2020-02-29

我收到以下錯誤錯誤:無法找到或加載主類 org.springframework.batch.core.launch.support.CommandLineJobRunner

我正在尋求有關如何在單個應用程序中同時擁有 Web 應用程序和批處理作業並使用 shell 腳本啟動批處理作業的幫助。

我正在使用 Maven 和 spring-boot-maven-plugin 來構建可執行的 jar

在這種情況下,您可以使用以下命令在命令行上運行您的作業:

java -jar myApp.jar --spring.batch.job.names=job1 runDate=2020-02-29

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM