Mahmoud Ben Hassine
e5c752b4b8
Remove JSR-352 implementation
...
Resolves #3894
2021-12-13 09:57:48 +01:00
Mahmoud Ben Hassine
0d3282554c
Remove the unconditional exposure of the transaction manager as a bean
...
This commit removes the unconditional exposure of the transaction
manager as a bean in the application context. The transaction manager
is still taken from the BatchConfigurer and set where needed (ie on
JobRepository and StepBuilderFactory) as previously done,
but is not exposed anymore as a bean to prevent any clash with a user
defined transaction manager.
If no transaction manager is provided, a DataSourceTransactionManager
will be configured by default as required by batch (without being exposed
as a bean).
Resolves #816
2021-11-22 15:35:02 +01:00
Mahmoud Ben Hassine
5dc17b190e
Upgrade dependencies to major versions for Spring Batch 5
...
* Upgrade to Jakarta EE 9
* Upgrade to Spring Framework 6
* Upgrade to Spring Integration 6
* Upgrade to Spring Data 3
* Upgrade to Spring AMQP 3
* Upgrade to Spring for Apache Kafka 3
LDIF support is still in progress waiting for the next
major version of Spring LDAP.
Closes #4027
Closes #3656
2021-11-22 12:16:49 +01:00
Mahmoud Ben Hassine
ddbd0d8ebc
Fix suffix of test classes names
...
As per Spring Framework code style [1], the suffix of
test classes should be "Tests". This commit fixes that
for some classes that do not conform to the code style.
[1]: https://github.com/spring-projects/spring-framework/wiki/Code-Style#tests
2021-09-13 11:22:47 +02:00
Mahmoud Ben Hassine
e8bbde10e5
Remove unused imports
2021-09-12 22:23:56 +02:00
Rémi Kaeffer
a6d68138ff
Fix double "the" typo everywhere in source code
2021-09-03 19:07:19 +02:00
Mahmoud Ben Hassine
d206de1cd0
Clean up schema versions in XML files of tests/samples
...
The schema version in JobParserWrongSchemaInRootTests-context.xml
has not been removed as it is used on purpose for
JobParserExceptionTests#testWrongSchemaInRoot.
Resolves #913
2021-08-24 11:51:37 +02:00
Mahmoud Ben Hassine
4b3bcac082
Update datasource configuration in samples/tests
2021-08-17 22:52:45 +02:00
Mahmoud Ben Hassine
36b63ed283
Remove usage of master/slave terminology
2021-08-17 21:59:30 +02:00
Mahmoud Ben Hassine
bb3809cf55
Remove deprecated APIs
...
Resolves #3836
2021-08-17 21:14:53 +02:00
Mahmoud Ben Hassine
f8bdf5521e
Remove the Map based job repository/explorer and their DAOs
...
This commit removes the deprecated Map-based job repository
and job explorer implementations with their respective DAOs.
Using the `EnableBatchProcessing` annotation now requires a
datasource bean to be defined in the application context.
This will be reviewed as part of #3942 .
This commit is a first pass that updates related tests to use
the JDBC-based job repository/explorer with an embedded database.
A second pass should be done to improve tests by caching/reusing
embedded databases if possible.
Issue #3836
2021-08-17 16:23:46 +02:00
Mahmoud Ben Hassine
27e11b52f9
Remove usage of deprecated APIs
...
Resolves #3838
2021-08-12 15:51:02 +02:00
Mahmoud Ben Hassine
7bbbd4f667
Refine contribution #3962
...
- Fix failing tests
- Update year in license headers
Related to #3838
2021-08-10 17:50:41 +02:00
Sebastiano Valle
24422b5163
Remove some deprecated APIs from tests
...
The following deprecated APIs are not in use anymore in the project's tests:
- `org.junit.rules.ExpectedException#none`
- `org.mockito.MockitoAnnotations#initMocks`
- `org.mockito.Mockito#verifyZeroInteractions`
Issue #3838
2021-08-10 17:48:21 +02:00
Philippe Marschall
f15edd414a
Fix some raw types
2021-08-10 12:41:19 +02:00
Philippe Marschall
c9e06b2a7f
Don't call wrapper constructors directly
...
The constructors of the wrapper classes for primitives (Double,
Integer, Long) have been deprecated since JDK 9 and should no longer be
called. Instead the static factory #valueOf should be used.
2021-08-10 11:54:25 +02:00
Mahmoud Ben Hassine
f8f5cf2fb4
Fix ignored tests
2020-12-03 17:35:23 +01:00
Mahmoud Ben Hassine
ac9a0d2718
Remove ignored test suites
...
Signed-off-by: Mahmoud Ben Hassine <mbenhassine@vmware.com >
2020-12-03 15:38:44 +01:00
Mahmoud Ben Hassine
33f04a9435
Polish 4ad06b5081
2019-11-15 14:58:55 +01:00
mikeldpl
a7092a21e4
Added @Nullable annotation to overriding methods.
...
Resolves BATCH-2839
2019-09-17 16:50:44 +02:00
Mahmoud Ben Hassine
3743894fa4
Replace "Master/Slave" with "Manager/Worker"
...
Resolves BATCH-2834
2019-08-02 13:13:54 -05:00
Spring Operator
d8fc58338d
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 2 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 1796 occurrences migrated to:
https://www.apache.org/licenses/LICENSE-2.0 ([https](https://www.apache.org/licenses/LICENSE-2.0 ) result 200).
2019-03-22 10:08:19 +01:00
Spring Operator
8762e34115
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 But Review Recommended
These URLs were fixed, but the https status was not OK. However, the https status was the same as the http request or http redirected to an https URL, so they were migrated. Your review is recommended.
* http://xmlns.jcp.org/xml/ns/javaee/jobXML_1_0.xsd (301) with 29 occurrences migrated to:
https://www.oracle.com/webfolder/technetwork/jsc/xml/ns/javaee/jobXML_1_0.xsd ([https](https://xmlns.jcp.org/xml/ns/javaee/jobXML_1_0.xsd ) result InvalidMediaTypeException).
## 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.hibernate.org/dtd/hibernate-mapping-3.0.dtd (301) with 1 occurrences migrated to:
https://hibernate.org/dtd/hibernate-mapping-3.0.dtd ([https](https://www.hibernate.org/dtd/hibernate-mapping-3.0.dtd ) result 200).
* http://hibernate.sourceforge.net/hibernate-mapping-3.0.dtd (301) with 2 occurrences migrated to:
https://hibernate.org/dtd/hibernate-mapping-3.0.dtd ([https](https://hibernate.sourceforge.net/hibernate-mapping-3.0.dtd ) result 200).
* http://www.springframework.org/schema/aop/spring-aop-2.5.xsd with 5 occurrences migrated to:
https://www.springframework.org/schema/aop/spring-aop-2.5.xsd ([https](https://www.springframework.org/schema/aop/spring-aop-2.5.xsd ) result 200).
* http://www.springframework.org/schema/aop/spring-aop-3.1.xsd with 21 occurrences migrated to:
https://www.springframework.org/schema/aop/spring-aop-3.1.xsd ([https](https://www.springframework.org/schema/aop/spring-aop-3.1.xsd ) result 200).
* http://www.springframework.org/schema/aop/spring-aop.xsd with 27 occurrences migrated to:
https://www.springframework.org/schema/aop/spring-aop.xsd ([https](https://www.springframework.org/schema/aop/spring-aop.xsd ) result 200).
* http://www.springframework.org/schema/batch-integration/spring-batch-integration.xsd with 16 occurrences migrated to:
https://www.springframework.org/schema/batch-integration/spring-batch-integration.xsd ([https](https://www.springframework.org/schema/batch-integration/spring-batch-integration.xsd ) result 200).
* http://www.springframework.org/schema/batch/spring-batch-2.0.xsd with 1 occurrences migrated to:
https://www.springframework.org/schema/batch/spring-batch-2.0.xsd ([https](https://www.springframework.org/schema/batch/spring-batch-2.0.xsd ) result 200).
* http://www.springframework.org/schema/batch/spring-batch-2.1.xsd with 1 occurrences migrated to:
https://www.springframework.org/schema/batch/spring-batch-2.1.xsd ([https](https://www.springframework.org/schema/batch/spring-batch-2.1.xsd ) result 200).
* http://www.springframework.org/schema/batch/spring-batch-2.2.xsd with 99 occurrences migrated to:
https://www.springframework.org/schema/batch/spring-batch-2.2.xsd ([https](https://www.springframework.org/schema/batch/spring-batch-2.2.xsd ) result 200).
* http://www.springframework.org/schema/batch/spring-batch-3.0.xsd with 1 occurrences migrated to:
https://www.springframework.org/schema/batch/spring-batch-3.0.xsd ([https](https://www.springframework.org/schema/batch/spring-batch-3.0.xsd ) result 200).
* http://www.springframework.org/schema/batch/spring-batch.xsd with 51 occurrences migrated to:
https://www.springframework.org/schema/batch/spring-batch.xsd ([https](https://www.springframework.org/schema/batch/spring-batch.xsd ) result 200).
* http://www.springframework.org/schema/beans/spring-beans-2.0.xsd with 1 occurrences migrated to:
https://www.springframework.org/schema/beans/spring-beans-2.0.xsd ([https](https://www.springframework.org/schema/beans/spring-beans-2.0.xsd ) result 200).
* http://www.springframework.org/schema/beans/spring-beans-2.5.xsd with 14 occurrences migrated to:
https://www.springframework.org/schema/beans/spring-beans-2.5.xsd ([https](https://www.springframework.org/schema/beans/spring-beans-2.5.xsd ) result 200).
* http://www.springframework.org/schema/beans/spring-beans-3.1.xsd with 145 occurrences migrated to:
https://www.springframework.org/schema/beans/spring-beans-3.1.xsd ([https](https://www.springframework.org/schema/beans/spring-beans-3.1.xsd ) result 200).
* http://www.springframework.org/schema/beans/spring-beans.xsd with 166 occurrences migrated to:
https://www.springframework.org/schema/beans/spring-beans.xsd ([https](https://www.springframework.org/schema/beans/spring-beans.xsd ) result 200).
* http://www.springframework.org/schema/context/spring-context-2.5.xsd with 8 occurrences migrated to:
https://www.springframework.org/schema/context/spring-context-2.5.xsd ([https](https://www.springframework.org/schema/context/spring-context-2.5.xsd ) result 200).
* http://www.springframework.org/schema/context/spring-context-3.1.xsd with 2 occurrences migrated to:
https://www.springframework.org/schema/context/spring-context-3.1.xsd ([https](https://www.springframework.org/schema/context/spring-context-3.1.xsd ) result 200).
* http://www.springframework.org/schema/context/spring-context-3.2.xsd with 1 occurrences migrated to:
https://www.springframework.org/schema/context/spring-context-3.2.xsd ([https](https://www.springframework.org/schema/context/spring-context-3.2.xsd ) result 200).
* http://www.springframework.org/schema/context/spring-context.xsd with 15 occurrences migrated to:
https://www.springframework.org/schema/context/spring-context.xsd ([https](https://www.springframework.org/schema/context/spring-context.xsd ) result 200).
* http://www.springframework.org/schema/data/jpa/spring-jpa.xsd with 1 occurrences migrated to:
https://www.springframework.org/schema/data/jpa/spring-jpa.xsd ([https](https://www.springframework.org/schema/data/jpa/spring-jpa.xsd ) result 200).
* http://www.springframework.org/schema/integration/jdbc/spring-integration-jdbc.xsd with 1 occurrences migrated to:
https://www.springframework.org/schema/integration/jdbc/spring-integration-jdbc.xsd ([https](https://www.springframework.org/schema/integration/jdbc/spring-integration-jdbc.xsd ) result 200).
* http://www.springframework.org/schema/integration/jms/spring-integration-jms-2.0.xsd with 1 occurrences migrated to:
https://www.springframework.org/schema/integration/jms/spring-integration-jms-2.0.xsd ([https](https://www.springframework.org/schema/integration/jms/spring-integration-jms-2.0.xsd ) result 200).
* http://www.springframework.org/schema/integration/jms/spring-integration-jms.xsd with 3 occurrences migrated to:
https://www.springframework.org/schema/integration/jms/spring-integration-jms.xsd ([https](https://www.springframework.org/schema/integration/jms/spring-integration-jms.xsd ) result 200).
* http://www.springframework.org/schema/integration/spring-integration.xsd with 27 occurrences migrated to:
https://www.springframework.org/schema/integration/spring-integration.xsd ([https](https://www.springframework.org/schema/integration/spring-integration.xsd ) result 200).
* http://www.springframework.org/schema/jdbc/spring-jdbc-3.2.xsd with 1 occurrences migrated to:
https://www.springframework.org/schema/jdbc/spring-jdbc-3.2.xsd ([https](https://www.springframework.org/schema/jdbc/spring-jdbc-3.2.xsd ) result 200).
* http://www.springframework.org/schema/jdbc/spring-jdbc.xsd with 3 occurrences migrated to:
https://www.springframework.org/schema/jdbc/spring-jdbc.xsd ([https](https://www.springframework.org/schema/jdbc/spring-jdbc.xsd ) result 200).
* http://www.springframework.org/schema/jms/spring-jms.xsd with 2 occurrences migrated to:
https://www.springframework.org/schema/jms/spring-jms.xsd ([https](https://www.springframework.org/schema/jms/spring-jms.xsd ) result 200).
* http://www.springframework.org/schema/lang/spring-lang.xsd with 1 occurrences migrated to:
https://www.springframework.org/schema/lang/spring-lang.xsd ([https](https://www.springframework.org/schema/lang/spring-lang.xsd ) result 200).
* http://www.springframework.org/schema/rabbit/spring-rabbit.xsd with 1 occurrences migrated to:
https://www.springframework.org/schema/rabbit/spring-rabbit.xsd ([https](https://www.springframework.org/schema/rabbit/spring-rabbit.xsd ) result 200).
* http://www.springframework.org/schema/task/spring-task-3.0.xsd with 1 occurrences migrated to:
https://www.springframework.org/schema/task/spring-task-3.0.xsd ([https](https://www.springframework.org/schema/task/spring-task-3.0.xsd ) result 200).
* http://www.springframework.org/schema/task/spring-task.xsd with 2 occurrences migrated to:
https://www.springframework.org/schema/task/spring-task.xsd ([https](https://www.springframework.org/schema/task/spring-task.xsd ) result 200).
* http://www.springframework.org/schema/tx/spring-tx-2.5.xsd with 8 occurrences migrated to:
https://www.springframework.org/schema/tx/spring-tx-2.5.xsd ([https](https://www.springframework.org/schema/tx/spring-tx-2.5.xsd ) result 200).
* http://www.springframework.org/schema/tx/spring-tx-3.1.xsd with 16 occurrences migrated to:
https://www.springframework.org/schema/tx/spring-tx-3.1.xsd ([https](https://www.springframework.org/schema/tx/spring-tx-3.1.xsd ) result 200).
* http://www.springframework.org/schema/tx/spring-tx.xsd with 21 occurrences migrated to:
https://www.springframework.org/schema/tx/spring-tx.xsd ([https](https://www.springframework.org/schema/tx/spring-tx.xsd ) result 200).
* http://www.springframework.org/schema/util/spring-util-3.1.xsd with 9 occurrences migrated to:
https://www.springframework.org/schema/util/spring-util-3.1.xsd ([https](https://www.springframework.org/schema/util/spring-util-3.1.xsd ) result 200).
* http://www.springframework.org/schema/util/spring-util.xsd with 15 occurrences migrated to:
https://www.springframework.org/schema/util/spring-util.xsd ([https](https://www.springframework.org/schema/util/spring-util.xsd ) result 200).
* http://java.sun.com/xml/ns/persistence/persistence_1_0.xsd with 3 occurrences migrated to:
https://java.sun.com/xml/ns/persistence/persistence_1_0.xsd ([https](https://java.sun.com/xml/ns/persistence/persistence_1_0.xsd ) result 302).
# Ignored
These URLs were intentionally ignored.
* http://java.sun.com/xml/ns/persistence with 6 occurrences
* http://www.springframework.org/schema/aop with 104 occurrences
* http://www.springframework.org/schema/batch with 343 occurrences
* http://www.springframework.org/schema/batch-integration with 32 occurrences
* http://www.springframework.org/schema/batch/test with 1 occurrences
* http://www.springframework.org/schema/beans with 673 occurrences
* http://www.springframework.org/schema/context with 52 occurrences
* http://www.springframework.org/schema/data/jpa with 2 occurrences
* http://www.springframework.org/schema/integration with 65 occurrences
* http://www.springframework.org/schema/integration/jdbc with 2 occurrences
* http://www.springframework.org/schema/integration/jms with 6 occurrences
* http://www.springframework.org/schema/jdbc with 8 occurrences
* http://www.springframework.org/schema/jms with 3 occurrences
* http://www.springframework.org/schema/lang with 2 occurrences
* http://www.springframework.org/schema/p with 60 occurrences
* http://www.springframework.org/schema/rabbit with 2 occurrences
* http://www.springframework.org/schema/task with 6 occurrences
* http://www.springframework.org/schema/tx with 89 occurrences
* http://www.springframework.org/schema/util with 48 occurrences
* http://www.w3.org/2001/XMLSchema-instance with 330 occurrences
* http://xmlns.jcp.org/xml/ns/javaee with 82 occurrences
2019-03-21 10:59:44 +01:00
Mahmoud Ben Hassine
d620012ebd
Bump SI version to 5.2.0.BUILD-SNAPSHOT
2019-03-21 09:55:49 +01:00
Mahmoud Ben Hassine
ffe158cade
Fix concurrency issue in RetryTransactionalPollingIntegrationTests
2019-02-01 11:54:12 +01:00
Mahmoud Ben Hassine
76c34c7f72
fix build warnings
2018-11-29 15:17:01 +01:00
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
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
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
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
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
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