Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/spring-boot/5.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
当tomcat启动并运行时,如何自动触发Spring引导CRON作业?_Spring_Spring Boot_Tomcat_Cron - Fatal编程技术网

当tomcat启动并运行时,如何自动触发Spring引导CRON作业?

当tomcat启动并运行时,如何自动触发Spring引导CRON作业?,spring,spring-boot,tomcat,cron,Spring,Spring Boot,Tomcat,Cron,我已经使用spring引导过程创建了CRON作业,该作业将每1小时重复执行一次。从eclipse来看,它工作得很好。现在,Spring引导应用程序(CRON作业)已导出为war文件,并将其放入tomcat中,默认端口为8080 Tomcat已成功启动并正在运行,但CRON作业未启动。 Application.java package com.task; import org.springframework.boot.SpringApplication; import org.springfra

我已经使用spring引导过程创建了CRON作业,该作业将每1小时重复执行一次。从eclipse来看,它工作得很好。现在,Spring引导应用程序(CRON作业)已导出为war文件,并将其放入tomcat中,默认端口为8080

Tomcat已成功启动并正在运行,但CRON作业未启动。
Application.java

package com.task;

import org.springframework.boot.SpringApplication;
import org.springframework.boot.autoconfigure.EnableAutoConfiguration;
import org.springframework.boot.autoconfigure.SpringBootApplication;
import org.springframework.boot.autoconfigure.jdbc.DataSourceAutoConfiguration;
import org.springframework.boot.builder.SpringApplicationBuilder;
import org.springframework.scheduling.annotation.EnableScheduling;
import org.springframework.boot.web.support.SpringBootServletInitializer;

@SpringBootApplication
@EnableScheduling
@EnableAutoConfiguration(exclude={DataSourceAutoConfiguration.class})ppublic class Application extends SpringBootServletInitializer {

    protected SpringApplicationBuilder configure(SpringApplicationBuilder application) {
        return application.sources(Application.class);
    }

    public static void main(String[] args) {
    SpringApplication.run(Application.class, args);
  }
}
Jar执行文件

@Override
    public RepeatStatus execute(StepContribution contribution, ChunkContext chunkContext) throws Exception {

        String gitPath = null;
        String rallyPath = null;
        String chefPath = null;
        String jenkinsPath = null;
        try {

            // Data Pull from jenkins
            jenkinsPath = PropertyManager.getProperty("Jenkins_FILE_PATH", "application.properties");
             Process p = Runtime.getRuntime().exec("cmd.exe /c start java -jar " + jenkinsPath  + " cmd");


        } catch (Exception e2) {
            // TODO Auto-generated catch block
            e2.printStackTrace();
        } 


        return RepeatStatus.FINISHED;
    }
我在pom.xml中添加了以下依赖项

    <?xml version="1.0" encoding="UTF-8"?>
<project xmlns="http://maven.apache.org/POM/4.0.0" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
    xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 http://maven.apache.org/xsd/maven-4.0.0.xsd">
    <modelVersion>4.0.0</modelVersion>

    <groupId>com.task</groupId>
    <artifactId>springboot-batchtask</artifactId>
    <version>1.0</version>
    <packaging>war</packaging>

    <name>SpringBatch</name>
    <description>Spring Batch-Spring Boot</description>

    <parent>
        <groupId>org.springframework.boot</groupId>
        <artifactId>spring-boot-starter-parent</artifactId>
        <version>1.4.3.RELEASE</version>
        <relativePath /> <!-- lookup parent from repository -->
    </parent>

    <properties>
        <project.build.sourceEncoding>UTF-8</project.build.sourceEncoding>
        <project.reporting.outputEncoding>UTF-8</project.reporting.outputEncoding>
        <java.version>1.8</java.version>
        <start-class>com.task.Application</start-class>
    </properties>

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

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

        <dependency>
            <groupId>org.springframework.boot</groupId>
            <artifactId>spring-boot-starter-tomcat</artifactId>
            <scope>provided</scope>
        </dependency>

    </dependencies>

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


</project>

4.0.0
com.task
springboot批处理任务
1
战争
春批
弹簧批式弹簧靴
org.springframework.boot
spring启动程序父级
1.4.3.1发布
UTF-8
UTF-8
1.8
com.task.Application
org.springframework.boot
弹簧靴起动器
org.springframework.boot
弹簧靴起动器批次
org.springframework.boot
弹簧启动机tomcat
假如
org.springframework.boot
springbootmaven插件

当tomcat启动并运行时,如何自动触发Spring Boot CRON作业?

应该自动触发。如果他们没有,你要么创建了一个错误的WAR,要么以错误的方式使用调度。我已经创建了许多不同的WAR文件,这些文件工作正常。但是这些应用程序有一个UI页面。但是这个CRON作业没有UI,只是执行jar文件从jenkins工具中提取数据。这场战争的错误是什么?如果这是一场战争,那就是一场战争。用户界面或没有用户界面并不重要。有什么问题吗?你希望我们从你的
pom.xml
中一个依赖项的5行中猜到吗?我已经更新了我的文件详细信息,请告诉我,这个文件有什么问题吗?你的类没有扩展
SpringBootServletializer