Commit Graph

206 Commits

Author SHA1 Message Date
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
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
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
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
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
Michael Minella
5eb39ca118 BATCHADM-161: Tightened up tests and XML configurations 2014-01-07 14:07:28 -06:00
Gunnar Hillert
143cb4925a BATCHADM-161 - Add Job Launching Gateway
For reference see: https://jira.springsource.org/browse/BATCHADM-161

* Add XML Schema
* Add Namespace Handler
* Add Parser and Gateway classes
* Add tests
2014-01-07 14:06:42 -06:00
Michael Minella
aa099d226c BATCHADM-161: Tightened up tests and XML configurations 2014-01-07 13:35:12 -06:00
Gunnar Hillert
3909b75151 BATCHADM-161 - Add Job Launching Gateway
For reference see: https://jira.springsource.org/browse/BATCHADM-161

* Add XML Schema
* Add Namespace Handler
* Add Parser and Gateway classes
* Add tests
2014-01-07 13:35:12 -06:00
willschipp
f23dd64740 BATCHADM-137 - added optional setting of the replyChannel externally in
the messagechannelparitionhandler
2014-01-07 13:35:12 -06:00
Michael Minella
9c942734e6 BATCHADM-155: Updated to support Spring Batch 2.2.0 2014-01-07 13:35:12 -06:00
dvictor
4dc5dddc16 BATCHADM-125: Version-less URLs for S.I. 2.1
Also changes for deprecation of interval-trigger on poller.

BATCHADM-125 Polishing (garyrussell)

Revert spaces to tabs; fix up some inconsistent newlines.

RemoteChunkFaultTolerantStepJdbcIntegrationTests-context.xml
FileDropJobIntegrationTests-context.xml
AbstractIntegrationViewTests-context.xml
VanillaIntegrationTests-context.xml
RepeatTransactionalPollingIntegrationTests-context.xml
RetryRepeatTransactionalPollingIntegrationTests-context.xml
TransactionalPollingIntegrationTests-context.xml
RetryTransactionalPollingIntegrationTests-context.xml
2014-01-07 13:34:57 -06:00
Dave Syer
5779a04cfb Fix tests after upgrade to 2.1.7 2014-01-07 13:34:32 -06:00
Dave Syer
c06c3ec289 JMS tests cannot run in same context 2014-01-07 13:34:02 -06:00
Dave Syer
57993c31af BATCHADM-102: Change MessageChannelPartitionHandler to not require a replyChannl 2014-01-07 13:33:50 -06:00
Dave Syer
5b646c4edf BATCHADM-81: add step context manipulation for async processors
- AsyncItemProcessor creates step context for its runnable
 - We also provide StepContextInterceptor for supplying StepExecution to downsteam consumers
2014-01-07 13:33:50 -06:00
Dave Syer
cfe666f7fe Add retry for in-memory databases in case they lock 2014-01-07 13:33:49 -06:00
Dave Syer
0f10341479 BATCHADM-69: add error rendering to JSON views
+ Make execution the default view after a job launch not from UI
2014-01-07 13:33:49 -06:00
Dave Syer
88638ce05f BATCHADM-72: Improve chunking traceability
- add sequence info to chunks
- Improve logging in ChunkMessageChannelItemWriter
- Add mysql/h2/derby properties to integration project
- Add drop scripts necessary for persistent databases
2014-01-07 13:33:48 -06:00
David Syer
e9c26e13e4 EOL only. WTF? 2014-01-07 13:33:32 -06:00
David Syer
d2f547b2d3 Update for changes to Spring Integration 2014-01-07 13:33:32 -06:00
David Syer
668b6bd270 Add interface for JobLaunchRequestHandler 2014-01-07 13:33:32 -06:00
David Syer
91c2272947 BATCHADM-60: change log level 2014-01-07 13:33:32 -06:00
David Syer
b5611e051d BATCHADM-63: add integration test for JDBC remote chunking 2014-01-07 13:33:32 -06:00
David Syer
23c33c794a BATCHADM-57: re-org ftl files 2014-01-07 13:33:32 -06:00