Spring boot Batch - JobLauncherApplicationRunner

Posted

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了Spring boot Batch - JobLauncherApplicationRunner相关的知识,希望对你有一定的参考价值。

参考技术A SpringApplication 支持在Bean 初始化后可以启动runner. Runner 的类型分两种一种是 ApplicationRunner ,一种是CommandLineRunner。

Batch 启动使用的是CommandLineRunner, 具体实现为JobLauncherApplicationRunner。

所有的job 都可以在jobRegistry 里找到。
executeLocalJobs 是根据外部命令行传入的job 找到app 里定义好的jobBean 如果匹配就想进行运行。 这里要注意几点

这之后就进入batch kernel 的部分, Spring boot batch 和 原来的Spring batch 就没有任何区别了。

Maven 打包“JAR”不适用于 spring-boot-starter-batch

【中文标题】Maven 打包“JAR”不适用于 spring-boot-starter-batch【英文标题】:Mvn packaging "JAR" not working for spring-boot-starter-batch 【发布时间】:2019-12-11 22:31:38 【问题描述】:

pom.xml 如果我添加 Jar 文件的“spring-boot-starter-batch”打包的依赖项不会发生。删除这个依赖可以创建 JAR

试过-mvn包,mvn安装

<parent>
    <groupId>org.springframework.boot</groupId>
    <artifactId>spring-boot-starter-parent</artifactId>
    <version>2.1.6.RELEASE</version>
    <relativePath/> <!-- lookup parent from repository -->
    </parent>
    <groupId>com.example.test</groupId>
    <artifactId>demo</artifactId>
    <version>0.0.1-SNAPSHOT</version>
    <name>demo</name>
    <description>Demo project for Spring Boot</description>

    <properties>
        <java.version>1.8</java.version>
    </properties>

    <dependencies>
        <dependency>
            <groupId>org.springframework.boot</groupId>
            <artifactId>spring-boot-starter-batch</artifactId>
        </dependency>
        <dependency>
            <groupId>org.springframework.boot</groupId>
            <artifactId>spring-boot-starter-jdbc</artifactId>
        </dependency>

    </dependencies>

    <build>
        <plugins>
            <plugin>
                <groupId>org.springframework.boot</groupId>
                <artifactId>spring-boot-maven-plugin</artifactId>
            </plugin>
        </plugins>
        <finalName>demo</finalName>
    </build>

Jar file should be created in target folder

【问题讨论】:

【参考方案1】:

在这里观看Spring Batch + Spring Boot

您需要将&lt;packaging&gt;jar&lt;/packaging&gt; 添加到您的 pom.xml

<groupId>com.howtodoinjava</groupId>
<artifactId>App</artifactId>
<version>0.0.1-SNAPSHOT</version>
<packaging>jar</packaging> // <----

【讨论】:

以上是关于Spring boot Batch - JobLauncherApplicationRunner的主要内容,如果未能解决你的问题,请参考以下文章

spring-boot-starter-jta-atomikos 和 spring-boot-starter-batch

Spring boot spring.batch.job.enabled=false 无法识别

Spring boot spring.batch.job.enabled=false 无法识别

Maven 打包“JAR”不适用于 spring-boot-starter-batch

Spring boot Batch 的启动原理- Configuration

spring boot(spring batch)配置禁用自动创建数据库