Update Task to BOOT 2.1.M1
Migrating to use ApplicationContextRunner or ImportAutoConfiguration with SpringApp.run, instead of SpringApplicationBuilder, because builder does not handle AutoConfiguration properly SimpleTaskAutoConfiguration now has an annotation AutoConfigureBefore the BatchTaskAutoConfig so that it is processed prior. THis is so that that BatchTaskAutoConfig can create the appropriate beans SimpleTaskAutoConfiguration has new annotations so that it is AutoConfigured after BindingServiceConfiguration and after SimpleTaskAutoConfiguration. This is so that it does not attempt to start emitting messages before stream is ready and it can create the appropriate beans after SimpleTaskAutoConfiguration has run. Renamed SimpleTaskConfiguration to SimpleTaskAutoConfiguration. Task version updated to 2.1.0 Added missing headers Updated documentation. Deprecated EnableTask Added ability to disable Task autoconfiguration. Removed @EnableTask from tests Resolves #439 Resolves #440 Resolves #448 Resolves #466
This commit is contained in:
committed by
Michael Minella
parent
d2c90c5256
commit
d2bc2530cc
@@ -217,7 +217,7 @@ Batch/Boot behavior. Keep in mind that a task is a boot application and that the
|
||||
returned from the task is the same as a boot application.
|
||||
To override this behavior and allow the task to return an exit code other than zero when a
|
||||
batch job returns an
|
||||
https://docs.spring.io/spring-batch/4.0.x/reference/html/step.html#conditionalFlow[ExitStatus]
|
||||
https://docs.spring.io/spring-batch/4.0.x/reference/html/step.html#batchStatusVsExitStatus[BatchStatus]
|
||||
of `FAILED`, set `spring.cloud.task.batch.fail-on-job-failure` to `true`. Then the exit code
|
||||
can be 1 (the default) or be based on the
|
||||
https://docs.spring.io/spring-boot/docs/current/reference/html/boot-features-spring-application.html#boot-features-application-exit[specified
|
||||
|
||||
@@ -33,8 +33,7 @@ processes, typified by most web applications, do not save their lifecycle events
|
||||
tasks at the heart of Spring Cloud Task do.
|
||||
|
||||
The lifecycle consists of a single task execution. This is a physical execution of a
|
||||
Spring Boot application configured to be a task (that is, it has the `@EnableTask`
|
||||
annotation).
|
||||
Spring Boot application configured to be a task (that is, it has the Sprint Cloud Task dependencies).
|
||||
|
||||
At the beginning of a task, before any `CommandLineRunner` or `ApplicationRunner`
|
||||
implementations have been run, an entry in the `TaskRepository` that records the start
|
||||
@@ -367,3 +366,14 @@ application:
|
||||
<groupId>org.springframework.integration</groupId>
|
||||
<artifactId>spring-integration-jdbc</artifactId>
|
||||
</dependency>
|
||||
|
||||
=== Disabling Spring Cloud Task Auto Configuration
|
||||
|
||||
In cases where Spring Cloud Task should not be auto configured for an implementation, you can disable Task's auto configuration.
|
||||
This can be done either by adding the following annotation to your Task application:
|
||||
```
|
||||
@EnableAutoConfiguration(exclude={SimpleTaskAutoConfiguration.class})
|
||||
```
|
||||
You may also disable Task auto configuration by setting the `spring.cloud.task.autoconfiguration.enabled` property to `false`.
|
||||
|
||||
|
||||
|
||||
@@ -77,12 +77,11 @@ package io.spring.demo.helloworld;
|
||||
import org.springframework.boot.CommandLineRunner;
|
||||
import org.springframework.boot.SpringApplication;
|
||||
import org.springframework.boot.autoconfigure.SpringBootApplication;
|
||||
import org.springframework.cloud.task.configuration.EnableTask;
|
||||
import org.springframework.context.annotation.Bean;
|
||||
|
||||
@SpringBootApplication
|
||||
@EnableTask
|
||||
public class HelloworldApplication {
|
||||
public class SampleTask {
|
||||
|
||||
@Bean
|
||||
public CommandLineRunner commandLineRunner() {
|
||||
@@ -124,13 +123,10 @@ spring.application.name=helloWorld
|
||||
----
|
||||
|
||||
[[getting-started-at-task]]
|
||||
==== The @EnableTask annotation
|
||||
==== Task Auto Configuration
|
||||
|
||||
The first non-boot annotation in our example is the `@EnableTask` annotation. This
|
||||
class-level annotation tells Spring Cloud Task to bootstrap it's functionality. By
|
||||
default, it imports an additional configuration class (`SimpleTaskConfiguration`). This
|
||||
additional configuration registers the `TaskRepository` and the infrastructure for its
|
||||
use.
|
||||
When including Spring Cloud Task Starter dependency, Task auto configures all beans to bootstrap it's functionality.
|
||||
Part of this configuration registers the `TaskRepository` and the infrastructure for its use.
|
||||
|
||||
In our demo, the `TaskRepository` uses an embedded H2 database to record the results
|
||||
of a task. This H2 embedded database is not a practical solution for a production environment, since
|
||||
|
||||
@@ -93,7 +93,6 @@ event on the `task-events` channel (at both the start and the end of the task):
|
||||
[source, java]
|
||||
----
|
||||
@SpringBootApplication
|
||||
@EnableTask
|
||||
public class TaskEventsApplication {
|
||||
|
||||
public static void main(String[] args) {
|
||||
|
||||
Reference in New Issue
Block a user