Commit Graph

340 Commits

Author SHA1 Message Date
Michael Minella
8f8600c14d BATCH-2253: Added automatic registraiton of Job Scope to java config and
added support for a @JobScope annotation.
2014-07-18 11:55:17 -05:00
Chris Schaefer
0f5a7af1a3 Final attempt at fixing test failure on build machine. Works as expected in a cloned plan 2014-07-18 11:55:17 -05:00
Chris Schaefer
3b36c132d5 Remove @Ignore from test, fix build system issue 2014-07-18 11:55:17 -05:00
Chris Schaefer
1ff1e6c7d0 BATCH-2242: Stopping a job in STARTING state throws OptimisticLockingFailureException 2014-07-18 11:55:17 -05:00
Thomas Bosch
cc6be985ad Allow multiple configs (xmls, java-files, packages) to be loaded in
ApplicationContextFactory
2014-05-22 11:30:15 -05:00
Chris Schaefer
57f409e0f1 update copyright dates, fix test method typo, xml cleanup, add varg - for BATCH-2227 2014-05-07 12:29:49 -04:00
Thomas Bosch
90aca9c98b BATCH-2227: Allow multiple configs (xmls, java-files, packages) to be
loaded in ApplicationContextFactory
2014-05-07 12:29:08 -04:00
Michael Minella
6d94ae9031 Updated hsqldb urls to use MVCC mode 2014-05-05 15:08:05 -05:00
Gunnar Hillert
11a8ec1dc4 BATCH-2144 - Merged Michael's changes
* Merge PR https://github.com/ghillert/spring-batch/pull/1
* Update Spring Integration dependency to 4.0.0.RC1
* Update docbook-reference-plugin to 0.2.8
2014-04-24 12:16:17 -05:00
Gunnar Hillert
f1d71a06f4 BATCH-2144 Convert Spring Batch to use Gradle
* Use Gradle 1.11
* Remove SpringSource references
* Update JavaDoc overview
* Update Jacoco conf + Add license/manifest files
* Addresses also BATCH-2187
* Update a number of unit tests to not be ignored

Jira: https://jira.springsource.org/browse/BATCH-2144
2014-04-24 12:16:17 -05:00
Michael Minella
3dc2ea3cb0 BATCH-2016: Added new flag to indicate if the step is being executed on
a restart.  If it is, the transition will be followed.  If not, we'll
look to see if we should be looking for somewhere else to restart.
2014-04-21 17:48:45 -05:00
jpraet
b26d272d43 cleanup 2014-04-02 14:35:53 -04:00
Chris Schaefer
152abb11bd Allow property injection into any artifact rather than just JSR interface impls.
* Remove isBatchArtifact check
* Reduce BatchArtifact.BatchArtifactType into BatchArtifactType
* Import JSR JSL definition from Spring config loaded by JsrJobOperator, update test
  for property injection into Tasklet and cleanup pre-parsing checks
2014-03-31 22:01:32 -04:00
jpraet
ab9f0f4897 add jdbc-operations attribute to <batch:job-repository> 2014-03-05 14:57:58 -06:00
Michael Minella
ac81a97d0d BATCH-2078: Close application contexts as batch jobs finish 2014-03-05 11:53:40 -06:00
Michael Minella
7eabb5e040 BATCH-2146: Renamed JSR specific artifacts to be prefixed so they are easily identifiable 2014-03-05 09:46:30 -05:00
Chris Schaefer
fe05e0daaf Updates from the JSR 352 v1.0 Maintenance Release 20140214 Draft 2
* Per added section 9.3.2 - do not automatically make job properties available
  to artifacts when using @BatchProperty. Job properties are only available to
  artifacts when using the jobProperties substitution mechanism.

* Update tests to reflect changes
2014-02-28 17:16:40 -06:00
Chris Schaefer
f87bf69dcf PartitionParserTests fixes
testFullPartitionConfigurationWithMapperSuppliedProperties
* remove assert on PartitionMapper.name as PropertyPartitionMapper is used and
  PartitionMapper.name does not get populated.

testFullPartitionConfigurationWithHardcodedProperties
* when run as part of the suite, the static fields name was populated by another test case.
  add explicit reference and hardcoded property to job def
2014-02-18 12:46:53 -05:00
Chris Schaefer
a1ee097dd4 * During pre-parsing of XML look for references to the same bean and if multiple
matches found, create new bean definitions and update the reference in the preprocessed
XML to allow for unique instances.

* Use job scope for job level listeners

* Remove call to application context close in JsrJobOperator.restart

Fixes TCK tests:
--
testTransitionElementOnAttrValuesWithRestartJobParamOverrides
testChunkArtifactInstanceUniqueness
testOneArtifactIsJobAndStepListener
2014-02-12 17:11:06 -05:00
Michael Minella
1a6ba98fc4 Created a JSR-352 specific StepState to maintain in the Job's
ExecutionContext what the last step executed was.  This is needed for
restarts when the step to restart at is a DecisionStep.
2014-02-12 12:21:44 -06:00
Michael Minella
9a5f59f749 Updated to handle the transition between splits and decisions 2014-02-10 17:18:32 -06:00
Michael Minella
b278239751 BATCH-2110: Updated batch to support Spring 4
* Refactored iBatis based readers and writers to not utilize
 SqlMapClientTemplate.
* Depricated all iBatis based readers and writers in favor of MyBatis's
 native Spring support.
* Updated XStream support to 1.4.4 and Jettison to 1.2 to be in
 alignment with Spring 4.
* Added the PooledEmbeddedDataSource to address the issue outlined in
 SPR-11372.
2014-02-06 11:34:33 -06:00
Michael Minella
3853088394 Updated to correctly handle state management on restarts per JSR-352
* Added a JSR-352 specific StepHandler implementation
(DefaultStepHandler)
* Added logic to DefaultFlow to correctly lookup where to restart a job
that was previously stopped.
2014-01-17 14:45:47 -06:00
Michael Minella
8f9783f0d4 Created JSR-352 specific SplitState to address resetting the JobExecution's ExitStatus after a split executes 2014-01-16 16:24:19 -06:00
Chris Schaefer
ea7a704299 Add failed transition if none exists when next attribute is used.
Fixes TCK test testStartLimitVariation1
2014-01-13 16:13:44 -05:00
Michael Minella
62c541ee42 Implemented the restart functionality for a partitioned step
* Updated parsers to address the allowStartIfComplete flag on
 partitioned steps
* Updated factory beans to address the above flag and injecting a
 JobRepository reference where needed
* Updated how state is restored for a JSR-352 partitioned step
* Fixed the synchronization around the queue used for a
 PartitionCollecotr and PartitionAnalyzer works
2014-01-03 13:13:17 -06:00
Chris Schaefer
c46a134539 * Update copyright year
* Move addition of state transition for elements with a next transition to be last
* Move restartable check into run method on restart to avoid NPE in factory bean due to null JobExecution.
* Add tests

Transition shuffle fixes TCK test testInvokeJobWithUncaughtExceptionFailAndRestart, NPE fix contributes to other tests but does not fix completely.
2014-01-02 14:32:24 -05:00
Michael Minella
0e2edd295f Added new EndState to support JSR behavior for setting the JobExecution#exitStatus 2013-12-18 13:19:42 -06:00
Chris Schaefer
d76209df10 Prevent NPE when checking for a re-runnable continued flow, remove usage of
state transition comparator in FlowParser, ensure custom exit code is set at
job level.

Fixes TCK test testDeciderExitStatusIsSetOnJobContext, contributes but does
not fix decider transition tests that include restart.
2013-12-18 10:36:50 -05:00
Michael Minella
241d9f101f BATCH-1701: Implementation of JobScope
* Updated Job and Step scopes to use common class introduced by jpraet
* Updated Job and Step Synchronization Managers to use common class
 introduced by jpraet
* Updated JobScope related code to not be concerned with Spring 2.5
 (which is what batch was on when the PR was opened).
2013-12-16 09:21:27 -06:00
jpraet
2436d84210 BATCH-1701: Introduce job scope 2013-12-13 16:44:15 -06:00
Chris Schaefer
e5fc0665cc Remove property resolution through the original bean factory post processor and move resolution to
occur during XML pre-processing. JSR-352 allows for property replacement and expressions to be present
on any element and the preprocessing provides the ability to load a well formed XML document into the
context with the intended values already present.
2013-12-13 17:02:19 -05:00
Michael Minella
7553c383cd Refactored to use the JSR's JobOperator to launch test job 2013-12-09 12:56:57 -06:00
Chris Schaefer
6b4ff3a566 Remove unique transition pattern check per JSR requirements. Transitions are ordered based on their ordering in the job defintion XML document, so for example having an end and stop transition both with a pattern of "foo" is valid. 2013-12-07 13:59:29 -05:00
Michael Minella
074e985b94 Updates per the code review 2013-12-07 12:35:14 -06:00
Michael Minella
78cf001e9e Refactored the JsrJobOperator to start and restart jobs asynchronously
by default.
* Refactored the JsrJobOperator to use SimpleAsyncTaskExecutor by
 default
* Introduced a JobContextFactory to provide a JobContext per thread.
* Updated stop logic to correctly handle stopping jobs running on
 another thread.
2013-12-06 11:37:10 -06:00
Michael Minella
102f614874 BATCH-2003: Implemented:
* Basic partitioning support per JSR-352
* Parameter injection at the partition level
* PartitionCollector/PartitionAnalyzer functionality
* PartitionReducer functionality
2013-11-12 17:26:27 -06:00
Chris Schaefer
2eda8c2aeb Catch BeanCreationException on start/start of a job in JsrJobOperator, rethrowing it as a JobStartException 2013-10-24 12:49:51 -04:00
jpraet
2d0e0c22ac BATCH-2053: Allow overriding step scope proxy-target-class flag on bean
level with aop:scoped-proxy
2013-10-16 10:38:21 -05:00
Chris Schaefer
e53533e9e3 BATCH-2005: Implement JSR RetryListener along side Spring Batch's RetryListener 2013-10-15 08:43:14 -05:00
Chris Schaefer
df53ea12b3 BATCH-2095: Change JSR version of Split to execute flows in separate threads. 2013-10-02 15:30:46 -04:00
Chris Schaefer
34f9fa7341 General cleanup etc around properties and substitution
* Move pre-context init of JobParameters support out of ThreadLocalClassloaderBeanPostProcessor
* General cleanup in BatchPropertyBeanPostProcessor, move artifact type checking into classifer class, minor naming updates
* Refactor BatchPropertyContext to use different data structures for different types of properties and provide named accessors
* Remove path based artifact scoping support
* Make sure expressions are parsed when resolving properties directly from XML
* Update property tests
* Move registration of jobProperties bean into the JsrNamespaceUtils
2013-09-26 12:38:23 -04:00
Chris Schaefer
e1f6de38e0 BATCH-2002: Initial support for complex conditional replacements 2013-09-09 16:28:46 -07:00
Chris Schaefer
7f1130c9a2 Fix TCK test JobOperatorTests.testJobOperatorRestartJobAlreadyAbandoned
* On restart if a previous JobExecution has a status of ABANDONED, throw a JobRestartException
* Ensure any previous JobParameters are merged with new parameters when creating a new job execution on restart
2013-09-04 23:00:18 -04:00
Chris Schaefer
10e58baf80 BATCH-2001: fix up property scoping, add support for resolving jobParameter references outside of step scope 2013-08-30 14:45:52 -05:00
Michael Minella
b2b54921ae Added code to default item count to 10 when not provided in JSR DSL 2013-08-22 21:45:32 -05:00
Michael Minella
3201923299 BATCH-2072: Removed DecisionAdapter and replaced it with a DecisionStep and related classes 2013-08-22 13:48:34 -04:00
Chris Schaefer
3f85c34f00 BATCH-2002: JSR Property Substitution Language 2013-08-21 23:37:32 -04:00
Michael Minella
d06ebaedc3 BATCH-2071: Implementation of JSR-352's requirement for loading batch artifacts via the thread local classloader
* Added a BeanFactoryPostProcessor to add bean definitions for batch artifacts referenced only by class name
* Updated the BatchPropertyBeanPostProcessor to address scope targets
* Moved the registration of the various post processors to a new JsrNamespaceUtils (similar to how they are handled with the core namespace)
2013-08-15 10:39:44 -05:00
Chris Schaefer
c6fabd72a6 BATCH-2001 JSR Property support. 2013-08-09 14:59:38 -05:00