当tomcat启动并运行时,如何自动触发Spring引导CRON作业?
我已经使用spring引导过程创建了CRON作业,该作业将每1小时重复执行一次。从eclipse来看,它工作得很好。现在,Spring引导应用程序(CRON作业)已导出为war文件,并将其放入tomcat中,默认端口为8080 Tomcat已成功启动并正在运行,但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
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
。