Created a Spring Boot starter that can be used to configure Spring Cloud
Task and it's related functionality.
Updates per code review
Removed autowiring of app context
Refactored DeployerPartitionHandler to correctly use environment variables
Exposed deployment properties of TaskLauncher
Exposed deployment properties via the TaskLaunchRequest
Updated based on code review
* Added test for sample and cleanup
* Added skipEventsListener
* Added new message format.
* Added integration tests.
* Updated application.properties to add json content type
resolvesspring-cloud/spring-cloud-task#119
In testing and other use cases, the ability to keep a context open
beyond the end of a task can be useful. This change provides the
ability to keep the context alive once a task has completed while also
explicitly shutting the context down (by default) once a task has ended.
Resolvesspring-cloud/spring-cloud-task#102
Some parameters provided to tasks can be quite large (classpath
definitions for hadoop based jobs for example). This commit increases
the size of the parameter field in the task repository from 250 to 2500.
Resolvesspring-cloud/spring-cloud-task#112
This commit changes the starting point of a task from the point when the
ApplicationContext issues the ContextRefreshedEvent to
SmartLifecycle#start. This is a more accurate point of start for a task
in that all beans should now be available. It also allows us to clean
up many ApplicationContext hacks that were present to get around the
fact that many beans were not ready when a Task was attempting to begin.
Resolvesspring-cloud/spring-cloud-task#107
This introduces a listener that stores the association between a Spring
Batch job and the task it was executed within.
Resolvesspring-cloud/spring-cloud-task#46
Merge Changes based on code review.
This PR removes the use of SLF4J from all non-test code. SLF4J is still
directly referenced in the unit tests because of the mocking
functionality we're using. We can explore refactoring that in a later
PR.
Resolvesspring-cloud/spring-cloud-task#101
Added the ability to implement TaskExecutionListener functionality without
implementing the TaskExecutionListener interface.
resolvesspring-cloud/spring-cloud-task#95
When using Spring Boot's datasource initialization features, there was
the possibility that the datasource used by the TaskLifecycleListener
was not ready by the time it was needed for regular injection. This
commit addresses that by obtaining the datasource at the last possible
moment.
Resolvesspring-cloud/spring-cloud-task#83
Updates per code review
TaskLifecycleListener will set a TaskExecution's exitCode to null upon taskStart in the repository.
Only at the end of the execution will it store the exitCode.
resolvesspring-cloud/spring-cloud-task#82
This commit introduces the `TaskRepositoryInitializer` component. This
component will initialize the `DataSource` when appropriate and silently do
nothing otherwise. It can be customized to initialize a specific
`DataSource` as required.
Resolvesspring-cloud/spring-cloud-task#84
Spring Boot now provides the result of an ExitCodeExceptionMapper via an
event called ExitCodeEvent. This commit takes advantage of this new
event.
Resolvesspring-cloud/spring-cloud-task#48
TaskNameResolver allows the ability to customize how a task is named.
During normal use cases, the provided SimpleTaskNameResolver should
suffice.
resolvesspring-cloud/spring-cloud-task#54
This change removes the Spring Cloud Task dependency upon a
CommandLineRunner from boot and moves the handling of the task lifecycle
closer to the "edge" of a Spring Boot application.
With this change, now a developer simply adds @EnableTask to their
configuration somewhere and the task lifecycle will be recorded.
Resolvesspring-cloud/spring-cloud-task#39
* Supports SimpleTaskExplorer that accepts a TaskExecutionDao.
* Updated Dao's to support the explorer query requirements
* Added tests.
This resolvesspring-cloud/spring-cloud-task#7
* Removes all Critical and Major notifications from Spring Cloud Task.
* Removes unused local variables
* Removes What it saw as redundant null checks and subsequent complexity alert.
resolvesspring-cloud/spring-cloud-task#33
* `DefaultTaskConfigurer` returns only one `SimpleTaskRepository` all others have been removed
* `SimpleTaskRepository` can use `JdbcTaskExecutionDao` or a `MapTaskExecutionDao`
* Add `Jdbc` and Map` `TaskRepositoryFactoryBeans` to support the creation of the correct type of `SimpleTaskRepository`
* `TaskDatabaseInitializer` will initialize a database if a datasource is found and if they have not disabled it using the `spring.task.initialize.enable`
* Add tests
* Added Transaction Support
* Re-add the samples to `pom.xml`
* Samples pom skips install and deploy lifecycle targets.