Commit Graph

48 Commits

Author SHA1 Message Date
Spring Operator
cea08ac1e7 URL Cleanup
This commit updates URLs to prefer the https protocol. Redirects are not followed to avoid accidentally expanding intentionally shortened URLs (i.e. if using a URL shortener).

# Fixed URLs

## Fixed Success
These URLs were switched to an https URL with a 2xx status. While the status was successful, your review is still recommended.

* [ ] http://www.apache.org/licenses/ with 1 occurrences migrated to:
  https://www.apache.org/licenses/ ([https](https://www.apache.org/licenses/) result 200).
* [ ] http://www.apache.org/licenses/LICENSE-2.0 with 176 occurrences migrated to:
  https://www.apache.org/licenses/LICENSE-2.0 ([https](https://www.apache.org/licenses/LICENSE-2.0) result 200).
2019-03-21 13:29:32 -05:00
mrbq
2ca9a38fa9 Obtain the TaskRepositoryInitializer from the Default Configurer
Added tests during merge

Updated to set proper version
2018-11-12 16:40:19 -05:00
Ilayaperumal Gopinathan
04393bca17 Exit code is nullable
- Make exit code nullable and only update of execution status can make it a valid integer
 - Update JDBC create/start task execution queries to have exitCode as `null` values
 - Update tests to validate/verify the appropirate exit code values for create/start/complete task executions

On merge had to add a pause to the TaskLauncherSinkTests to wait for the task to complete successfully   Before we assumed that 0 was a satisfactory result meaning it was either running or completed.    Now with the null being returned it could be zero or null.  So we have to wait for the task to complete.
2018-10-31 11:05:33 -04:00
David Turanski
ba05720499 Implement getRunningTaskCount
Expose functionality via TaskExplorer

Polishing on merge
2018-07-11 16:46:24 -04:00
Gunnar Hillert
b9a6d3e53c gh-424 Add the ability to retrieve the last TaskExecution for Tasks
- Add the ability to retrieve the last TaskExecution to:
  - MapTaskExecutionDao
  - JdbcTaskExecutionDao
- Refactor `JdbcTaskExecutionDao` and use `NamedParameterJdbcTemplate` for all persistence store calls
- Add the following TaskExecution methods to TaskExplorer:
  - getLatestTaskExecutionsByTaskNames
  - getLatestTaskExecutionForTaskName
- Add Tests
- Ensure that code is JDK7 compatible due to backporting needs
- Ensure commit backports to 1.2.x

Polishing on tests during merge
2018-06-15 16:58:18 -04:00
Glenn Renfro
6c47223859 Repository is not initialized if tablePrefix is set.
resolves #311
2017-06-26 16:04:22 -05:00
Glenn Renfro
b03f8398a7 Task identifies if JPA is in use and uses JPTransactionManager
resolves #309
2017-06-26 15:49:20 -05:00
David Turanski
a1cffe8bd4 Change closecontextEnable to closeContextEnabled
Added test

Updated to use the standard log library

resolves #217
2017-04-12 11:06:26 -04:00
Michael Minella
ac41b8c26d Refactor to clense task name
When using Spring Boot, the id of the application context can be a colon
delimited string of values.  By default, Spring Cloud Task uses this
value as the task name.  However, when using JMX, this can cause issues.
This commit updates the SimpleTaskNameResolver to clense the colons and
replace them with underscores.

Resolves #280
2017-03-29 17:45:28 -04:00
Glenn Renfro
a7fe76c7d6 Do not update the externalExecutionId if null when starting TaskExecution
resolves #271
2017-02-09 09:07:22 -06:00
Glenn Renfro
acaaad89f3 Adds support for Task Execution Parent Ids
resolves #261
2017-01-20 14:47:12 -06:00
Glenn Renfro
10bb457a5a Allows user to set table prefix via properties.
resolves #244
2017-01-06 12:54:30 -06:00
Glenn Renfro
2eb1c49e12 Added ability to update externalExecutionId
resolves #259
2017-01-06 16:47:29 +01:00
Glenn Renfro
d6e224f2ef Updated based on Code Review 2016-11-01 17:32:22 -04:00
Glenn Renfro
eff83a1897 Added More tests. 2016-11-01 17:32:22 -04:00
Glenn Renfro
1611c28768 Adding a few more tests.
Added unit tests to classes that had no coverage.
Added unit tests to classes bump up coverage.
2016-11-01 17:32:22 -04:00
Glenn Renfro
02a8c3368b Updates the TaskRepository createTaskExecution to support TaskExecution param
resolves #223

Updated to use TaskExecution when creating new executions for test.
2016-11-01 13:12:32 -04:00
Gunnar Hillert
7298bdd485 gh-235 Fix Sort Properties are ignored in JdbcTaskExecutionDao
- Add support for sorting similar to SCDF Core's `AbstractRdbmsKeyValueRepository`

Added tests on merge
2016-11-01 09:05:05 -04:00
Michael Minella
17e4250586 Checks for invalid ExecutionId in the TaskLifeCycleListener
resolves #115
* Fixes bug where if the user set the environment variable and commandline args a unique constraint would fire.
* Updated docs
* Removed deprecation
* Fixed version number for integration test.

Added integration tests for externally generated task executions

Add externalExecutionId

resolves #80
2016-10-12 12:45:29 -05:00
Michael Minella
441bbfe492 Checks for invalid ExecutionId in the TaskLifeCycleListener
resolves #115
* Fixes bug where if the user set the environment variable and commandline args a unique constraint would fire.
* Updated docs
* Removed deprecation
* Fixed version number for integration test.

Added integration tests for externally generated task executions
2016-10-10 17:45:35 -05:00
Miguel Gomes
9ccbe60cba Fix NPE when return an eventExitCode before ApplicationFailedEvent 2016-09-08 13:47:23 -05:00
Glenn Renfro
4e7e75cc82 Moved the Error size trimming from DAO to repository.
* We had a discussion on this sometime back and it was decided at that time to keep these type of trims and verification in the Repository.
* Fixed bug where trimming was taking 1 character too many
* Updated ExitMessage maxSize test to verify size
* Added ErrorMessage maxSize Test
* While adding taskExplorer to the test noticed it was missing 2 basic tests and added those as well
2016-09-06 11:00:42 -05:00
Michael Minella
db0565b7cf Introduced Error Message to Task Execution
To provide the ability to control task orchestration via the exit
message, we moved the stack trace storage to a new field.  This means
that exit message is now a field we can use similar to how exit code is
in batch, and still have the stack trace of an unsuccessful task
execution stored.

Resolves spring-cloud/spring-cloud-task#186

Disabled integration tests by default

Just some cleanup on merge
2016-08-15 18:30:15 -04:00
Michael Minella
77fdfbdbc0 Refactored the use of the name parameters to be arguments
This PR refactors the use of the term parameters to arguments to be
consistent with how the component is utilized within Spring Cloud Data
Flow.
2016-06-09 09:39:14 -05:00
Glenn Renfro
df14546a7f SCT-139 Exception info and error codes will be recorded for the task
resolves spring-cloud/spring-cloud-task#139
2016-05-20 09:57:23 -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
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
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
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
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
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
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
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
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