Commit Graph

324 Commits

Author SHA1 Message Date
Drummond Dawson
3fe5fc3427 Replace explicit type with diamond operator in integration module 2018-11-06 21:23:43 +01:00
Mahmoud Ben Hassine
249fa2673e Fix typos 2018-10-02 22:40:56 +02:00
Michael Minella
4b1a78323e Updated to fix test and build file 2018-07-26 11:25:46 -05:00
Mahmoud Ben Hassine
cb03c1c7ed Add JSR-305 annotations to public APIs
(Partially) Resolves BATCH-2688
2018-07-26 10:02:01 -05:00
Mahmoud Ben Hassine
d72cd67cad Make the outputChannel and messagingTemplate mutually exclusive
This commit changes the remote chunking and partitioning master step
builders to either accept an output channel or a messaging template
but not both.

See BATCH-2687
2018-07-12 17:31:15 +02:00
Mahmoud Ben Hassine
39676a45c4 Add builders to simplify remote partitioning setup
Resolves BATCH-2687

* use hard coded constants in docs
* change visibility of method `beanFactory` to public in builders
2018-07-11 17:07:40 -05:00
Mahmoud Ben Hassine
1f900ee83b Add a default constructor to StepExecutionRequest
Without a default constructor, a StepExecutionRequest instance cannot
be deserialized using Jackson. This commit adds a (private) default
constructor to fix the issue.

Resolves BATCH-2732
2018-07-05 15:34:19 -05:00
Michael Minella
98070e4a1c Polish and updated a test to validate the conditions 2018-05-25 16:46:32 -05:00
Mahmoud Ben Hassine
ee56a2320d Add builders for master/worker beans in remote chunking setup
This commit adds a new annotation `@EnableBatchIntegration` that makes
it possible to autowire two beans in the application context:

* RemoteChunkingMasterStepBuilderFactory: used to create a master step
* RemoteChunkingWorkerBuilder: used to create a worker integration flow

The goal of these new APIs is to simplify the setup of remote chunking
job by automatically configuring infrastructure beans.

Resolves BATCH-2686
2018-05-25 16:46:24 -05:00
Michael Minella
f61679b55f Added updates for properties files as well 2017-11-27 12:06:29 -06:00
Michael Minella
52d2c257c5 Version updates 2017-10-23 15:52:55 -05:00
Michael Minella
b180c75ce0 Housecleaning of build warnings 2017-09-15 15:58:22 -05:00
Michael Minella
263e978a1f Updated for various code warnings
This commit addresses a number of deprications and other code warnings.
There are still many more to address, but this is a start.
2017-05-02 12:48:03 -05:00
Michael Minella
54a90beed7 Upgraded Mockito
This commit upgrades mockito to the latest currently available version
as well as does some additional cleanup.
2017-01-24 14:18:05 -06:00
Michael Minella
8a2b23d669 Fixed unit tests due to changes in exception messages 2016-11-21 15:20:49 -06:00
Michael Minella
32f723ba34 Upgraded to Spring Integration 5 2016-10-18 12:56:46 -05:00
Michael Minella
cfad543a63 Unwrap ExecutionException in the AsyncItemWriter
When using the `AsyncItemProcessor` and `AsyncItemWriter`, business
exceptions that occur during the process phase are hidden by an
`ExecutionException` that is returned wrapping the originally thrown
exception in the `AsyncItemWriter`.  In this commit, we now unwrap any
`ExecutionException` that is returned and throw the cause.  Debug
logging is also added to allow the logging of the original exception as
well.

Resolves BATCH-2386
2016-10-13 14:23:58 -05:00
Michael Minella
ad5348f32d Updated reply channel in the MessageChannePartitionHandler
When using the `MessageChannelPartitionHandler`, the reply channel is an
instance variable.  However, when the handle method is called, if a
reply channel is not injected, it will create a new one.  If multiple
jobs recycle the same instance of the partition handler, you may end up
having messages crossed/lost.  This PR removes the creation of the reply
channel for each call to the handle method and documents that this
comonent should be step scoped.

Resolves BATCH-2288
2016-10-13 12:42:39 -05:00
Michael Minella
b2e6b431dc Updated for Spring 5 baseline
The new Spring 5 baseline consists of Spring 5, Hibernate 5, and Java 8.
This commit addresses any changes to create a successful build of Spring
Batch under those guidances.  Further commits will be coming to address
Java 8 specifics as areas of the project are touched.

Resolves BATCH-2536
2016-09-30 12:34:45 -05:00
Michael Minella
f4c0530730 Upgraded dependency versions and minor polish 2016-08-09 13:19:14 -05:00
Michael Minella
7d2c1a1eca Updated HibernateItemReaderHelper to use reflection for Session#close()
Hibernate 5 changed the signature of the Session#close() method from
returning a Connection to being void.  To support both verions, we've
moved to making the call via reflection.

This commit also upgrades the ActiveMQ version used in testing to be
compliant with the Spring IO Platform.

Resolves BATCH-2496
2016-04-20 22:51:05 -05:00
Andy Wilkinson
68ee9a2916 Update SmokeTests to be compatible with Spring Integration 4.2
Spring Integration 4.2 has fixed a bug where integration components
were being started too early. SmokeTests was relying on this bug to
start the test class which is also a @MessageEndpoint.

This commit updates the test to use a nested inner-class for the
endpoint and a bean declaration in the XML configuration. This allows
the test to pass against both Spring Integration 4.0 and 4.2.
2015-11-20 16:50:10 -06:00
Philippe Marschall
3783345c55 BATCH-2412 Add guards around debug statements
In various places in the code base a debug message is constructed
unconditionally. This adds unnecessary overhead in the common case when
debug logging is off.

 - add guards around debug statements in non-test code

Issue: BATCH-2412
2015-08-05 12:04:44 -05:00
Amer Aljovic
716c9baff3 BATCH-2312 Implement ItemStream in AsyncItemWriter
This commit adds the feature of allowing a delegate ItemWriter to be an
ItemStreamWriter and have Spring Batch respect the ItemStream lifecycle
events without explicitly configuring the delegate as a stream.
2015-07-09 16:58:59 -05:00
Michael Minella
2e8e7f67be Added documentation to communicate limitations of when using the
AsyncItemProcessor.

BATCH-2371
2015-05-14 23:27:59 -05:00
Michael Minella
066c59a390 Add job repository polling option to MessageChannelPartitionHandler
When using remote partitioning, each slave worker persists it's current
status in the same job repsository that the master uses.  Because of
this, there is no hard need for the master to wait for each worker to
send a formal response once it's work is complete.  Instead, the master
(at the cost of polling a db periodically) can determine if the workers
are done by looking up each partition's status in the job repository.
This commit removes the requirement for a reply channel and implements
the polling of the job repository to determine if the workers are done.

BATCH-2332
2014-12-23 16:29:41 -06:00
Michael Minella
2fec70d25e Add null check to AsyncItemWriter
The AsyncItemWriter is used in conjunction with the AsyncItemProcessor
to unwrap the Futures that are returned by that processor.
Traditionally when an ItemProcessor returns null, it's considered having
been filtered out and should not be passed to the ItemWriter.  In this
case, the AsyncItemWriter was not checking for nulls so they were being
passed to the delegate ItemWriter.  Most of the OOTB ItemWriters do not
perform a null check prior to doing the write so they were throwing NPEs
when using this paradigm.
2014-09-11 11:53:17 -05:00
Chris Schaefer
4f32f623f0 BATCH-2241 & BATCH-2243 - add namespace support for remote chunking 2014-09-03 01:10:47 -04:00
Michael Minella
deb4c6fb5b BATCH-2283: Updated MessageChannelPartitionHandler to return null when no partitions are specified 2014-08-06 14:52:02 -05:00
Michael Minella
e7a4e348a5 BATCH-2229 & BATCH-2218: Removed OSGi related metadata and Maven POMs 2014-05-12 15:32:02 -05:00
Michael Minella
f6b83167ac XD-1389: Added null check when receiving partitioned messages back to handle timeouts 2014-05-01 09:48:02 -05:00
Michael Minella
5e07b249ad Updated commons-dbcp and commons-pool dependency scopes 2014-04-25 15:30:23 -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
9d17a3d088 Updated Spring Batch Integration to use Spring Integration 4.0.0.RC1 2014-04-16 09:44:46 -05:00
Chris Schaefer
4e25560c4d BATCH-2195: Document Spring Batch Integration
* Removed APT files
* General formatting and spelling fixes
* Converted README.md to docbook
* Expanded converted README.md docs to include usable code snippets
2014-04-11 13:02:53 -04:00
Michael Minella
74992367a2 BATCH-2188: Refactored package.html to package-info.java and added package-info.java to all packages that needed one 2014-04-02 16:23:09 -05:00
Chris Schaefer
65f37c170a BATCH-2201: Update URL's to point to spring.io in docs
Update URLs pointing to springframework/springsource to spring.io.
Remove links that have no redirection
2014-03-25 12:24:37 -04:00
Chris Schaefer
1ad8bd803a Add initial 3.0 documentation
* What's new
  * JSR-352
  * Convert Spring Batch Integration apt files into docbook and use as chapter
  * Remove site dir from Spring Batch Integration where converted apt files used
    to live
2014-03-21 13:01:05 -05:00
Michael Minella
ff7793cacf [maven-release-plugin] prepare for next development iteration 2014-02-21 21:42:59 -06:00
Michael Minella
f690c496c4 [maven-release-plugin] prepare release 3.0.0.M3 2014-02-21 21:42:55 -06:00
Chris Schaefer
ef0823938c BATCH-2111: Java 8 / Upgrade to Spring 4
* Upgrade Spring framework to 4.0.2.RELEASE
* Upgrade maven compiler plugin to 3.1
* Use LinkedHashMap to preseve ordering in AbstractFlowParser (found when upgrading to JDK 8)
* Match on EnhancerBySpringCGLIB in StepScopeProxyTargetClassOverrideIntegrationTests (SPR-11398)
2014-02-20 12:53:32 -06:00
Michael Minella
1bb02e4f55 Consolidated Spring Batch Integration into the regular Spring Batch build. Note: There will need to be additional build work done during the release process. That will be addressed then 2014-01-07 16:33:14 -06:00
Gary Russell
7954bbdf9d SPR 4.0.0.RELEASE and SI 4.0.0.M2 Compatibility
Updates to make spring-batch-integration compatible with these releases.
2014-01-07 14:07:28 -06:00
Gary Russell
e5afdf735e @Ignore 2 Tests
Two tests don't run under Spring 4; needs investigation.
2014-01-07 14:07:28 -06:00
Gary Russell
5105f59dd1 Initial SF/SI 4
More
2014-01-07 14:07:28 -06:00
Andrew Eisenberg
c6b804bfe3 Expose Job parameters in JdbcSearchableJobExecutionDao
See https://jira.springsource.org/browse/BATCHADM-176

Must be applied after
https://github.com/spring-projects/spring-batch/pull/231

As part of this, I had to update the dependency on spring-batch to
3.0.0-BUILD_SNAPSHOT.

Because of this dependency change, I had to add two
methods to JobRepositorySupport.  It looks like a stub class, so I
left the two methods implemented as stubs.
2014-01-07 14:07:28 -06:00
Michael Minella
1eb57b9aa1 [maven-release-plugin] prepare for next development iteration 2014-01-07 14:07:28 -06:00
Michael Minella
ad04dfcce4 [maven-release-plugin] prepare release 1.3.0.M1 2014-01-07 14:07:28 -06:00
Michael Minella
2f64582fdf Updated version numbers
Corrected SCM urls
Added release plugin
2014-01-07 14:07:28 -06:00
Gunnar Hillert
dca766c317 * BATCHADM-160 - Update Spring Batch Integration Documentation
- created initial version
  - use README.md for now as the documentation vehicle
  - https://jira.springsource.org/browse/BATCHADM-160
* BATCHADM-163 - Add documentation for namespace support
  - https://jira.springsource.org/browse/BATCHADM-163
2014-01-07 14:07:28 -06:00