Commit Graph

38 Commits

Author SHA1 Message Date
Michael Minella
619bc567a1 Documentation additions around batch events and formatting fixes 2016-04-26 11:03:33 -05:00
Michael Minella
43d869f726 Add Job Event Messaging to tasks.
* Added test for sample and cleanup

* Added skipEventsListener

* Added new message format.

* Added integration tests.

* Updated application.properties to add json content type

resolves spring-cloud/spring-cloud-task#119
2016-04-25 23:05:07 -05:00
Michael Minella
bdd73632eb Added context active check 2016-04-11 08:39:15 -05:00
Michael Minella
0a56672171 Refactored task end event to be Spring Boot's ApplicationReadyEvent
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.

Resolves spring-cloud/spring-cloud-task#102
2016-04-06 12:24:52 -05:00
Michael Minella
726441dda3 Increase paraemter size to 2500
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.

Resolves spring-cloud/spring-cloud-task#112
2016-03-29 11:56:51 -05:00
Michael Minella
f35f8ef52d Update TaskLifecycleListener to use SmartLifecycle
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.

Resolves spring-cloud/spring-cloud-task#107
2016-03-18 14:51:59 -04:00
Michael Minella
7c8fc5f50e Add listener to persist relationship between job and task
This introduces a listener that stores the association between a Spring
Batch job and the task it was executed within.

Resolves spring-cloud/spring-cloud-task#46

Merge Changes based on code review.
2016-03-11 09:16:59 -05:00
Michael Minella
bb76cef391 Remove hard dependency on SLF4J
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.

Resolves spring-cloud/spring-cloud-task#101
2016-03-09 12:11:53 -06:00
Glenn Renfro
dc26f7c98d SCT-96 Update TaskRepository to be additive only
resolves spring-cloud/spring-cloud-task#96
2016-03-09 11:44:05 -06:00
Michael Minella
83836e1eea Sonar cleanup 2016-03-09 10:48:07 -06:00
Glenn Renfro
f486050086 SCT-95 Support TaskExecutionListener Annotations
Added the ability to implement TaskExecutionListener functionality without
implementing the TaskExecutionListener interface.

resolves spring-cloud/spring-cloud-task#95
2016-03-09 10:07:39 -06:00
Glenn Renfro
20a56c9581 SCT-35 Tasks Support TaskExecutionListener
resolves spring-cloud/spring-cloud-task#35

TaskExecutionListener now supports TaskExecution Params
2016-02-26 15:11:06 -06:00
Glenn Renfro
91fa6be092 SCT-79 Support sqlserver
resolves spring-cloud/spring-cloud-task#79
2016-02-26 14:53:49 -06:00
Michael Minella
27c8c6d76d Refactored building of TaskLifecycleListener
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.

Resolves spring-cloud/spring-cloud-task#83

Updates per code review
2016-02-26 13:44:45 -05:00
Glenn Renfro
3b252680e7 SCT-82 Exit Code needs to be null while task is running
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.

resolves spring-cloud/spring-cloud-task#82
2016-02-25 12:45:32 -06:00
Michael Minella
d8e68d2558 Refactored database initialization
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.

Resolves spring-cloud/spring-cloud-task#84
2016-02-11 18:15:29 -06:00
Glenn Renfro
2efa75ff16 SCT-72 Remove externalExecutionID & StatusCode
Will add these back when and if they are needed.

resolves spring-cloud/spring-cloud-task#72
2016-01-26 11:57:23 -05:00
Glenn Renfro
c336bea0d2 SCT-66 Fix for Task_Execution error
Sets the argType for the task_execution_id in the Task_Execution_params to be a BIGINT (vs the VARCHAR)

spring-cloud/spring-cloud-task#66
2016-01-25 15:14:06 -05:00
Michael Minella
2ceb353838 Use spring Boot events to get exit code
Spring Boot now provides the result of an ExitCodeExceptionMapper via an
event called ExitCodeEvent.  This commit takes advantage of this new
event.

Resolves spring-cloud/spring-cloud-task#48
2016-01-22 13:26:32 -06:00
Glenn Renfro
eb995ee037 SCT-69 Mysql script uses correct engines for each tables.
resolves spring-cloud/spring-cloud-task#69
2016-01-22 11:15:12 -05:00
Michael Minella
846eb3fad9 Stores the command line arguements within the task repository
Resolves spring-cloud/spring-cloud-task#62

Code Review Polishing
2016-01-20 14:59:46 -05:00
Thomas Risberg
1a7cd94721 Adding NOCACHE to sequence TASK_SEQ
Resolves #63
2016-01-19 15:33:39 -05:00
Glenn Renfro
d00925622b SCT-59 Add Support for H2 database
resolves spring-cloud/spring-cloud-task#59
2016-01-14 14:21:46 -05:00
Glenn Renfro
a53a304b45 SCT-56 Adds Pageable to Explorer methods
* findRunningTaskExecutions
* findTaskExecutionsByName

resolves resolves spring-cloud/spring-cloud-task#56
2016-01-07 20:26:05 -05:00
Glenn Renfro
584cfb90f5 TaskExecution should use long id
* Replace String executionId with a long executionId
* Add externalExecutionID that is a String

resolves spring-cloud/spring-cloud-task#47
2016-01-06 17:35:47 -06:00
Michael Minella
1c3bb94bbd Added TaskNameResolver and related implementation
TaskNameResolver allows the ability to customize how a task is named.
During normal use cases, the provided SimpleTaskNameResolver should
suffice.

resolves spring-cloud/spring-cloud-task#54
2016-01-06 17:25:48 -05:00
Glenn Renfro
0e90778f20 SCT-41 Introduces findAll for task explorer
resolves spring-cloud/spring-cloud-task#41
2016-01-04 14:35:23 -06:00
Michael Minella
61d3cc3641 Refactor of Task API
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.

Resolves spring-cloud/spring-cloud-task#39
2015-12-29 11:38:41 -05:00
Glenn Renfro
ccd3a553da Code Review Changes 2015-12-16 11:03:59 -06:00
Glenn Renfro
2e6868628b Polishing and rebase 2015-12-16 11:03:59 -06:00
Glenn Renfro
b62cb184c0 SCT-7 Add TaskExplorer implementation
* Supports SimpleTaskExplorer that accepts a TaskExecutionDao.
* Updated Dao's to support the explorer query requirements
* Added tests.

This resolves spring-cloud/spring-cloud-task#7
2015-12-16 11:03:59 -06:00
Glenn Renfro
5c3795e7c7 SCT-33 Sonar Cleanup
* 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.

resolves spring-cloud/spring-cloud-task#33
2015-12-16 10:56:35 -06:00
Glenn Renfro
ec096b473c SCT-27 Added Oracle, Mysql, Postgres init scripts
* Added Mysql to DatabaseTypes

Resolves spring-cloud/spring-cloud-task#27
2015-12-14 13:00:54 -05:00
Glenn Renfro
a9f882f24b SCT-6 Support RDBMS & Map Repositories
* `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.
2015-12-08 15:44:14 -05:00
Glenn Renfro
ce8854b89e SCT-4 Added SimpleTaskConfiguration
* Added unit tests
* Introduced @EnableTask
* Readme updated to include @EnableTask
* Removed warnings from build
* Cleanup
2015-11-30 15:32:40 -06:00
Michael Minella
93e4698175 fixes spring-cloud/spring-cloud-task#8
SCT-8: Added NoOpTaskExplorer

Set the Junit to test scope.
2015-11-30 14:04:20 -05:00
Michael Minella
54508f7c43 Refactored package name
Just a little cleanup (added a space)
2015-11-20 17:31:28 -05:00
Glenn Renfro
bd1243cae6 Initial commit of POC functionality
This commit provides the inital code from a POC of spring-cloud-task
functionality.  Further cleanup will be done and tracked via future
stories.
2015-11-20 14:42:22 -06:00