Also added instructions for native compilation for those apps that it is useful Added documentation for native compilation when using Single Step Batch Processing Updated documentaiton for native compilation for single app processing
43 lines
1.6 KiB
Plaintext
43 lines
1.6 KiB
Plaintext
= Partitioned Job
|
|
|
|
An example of the usage of the `DeployerPartitionHandler` and
|
|
`DeployerStepExecutionHandler` to partition a Spring Batch job.
|
|
|
|
== Requirements:
|
|
|
|
* Java 17 or Above
|
|
|
|
== Build:
|
|
|
|
[source,shell]
|
|
----
|
|
./mvnw clean install
|
|
----
|
|
|
|
== Execute:
|
|
|
|
[source,shell]
|
|
----
|
|
export SPRING_APPLICATION_JSON='{"spring.datasource.url":"jdbc:mariadb://localhost:3306/<your database>","spring.datasource.password":"<your password>","spring.datasource.username":"<your username>","spring.datasource.driverClassName":"org.mariadb.jdbc.Driver"}'
|
|
java -jar target/partitioned-batch-job-3.0.0.jar
|
|
----
|
|
|
|
NOTE: This example will use require a MySql RDBMS repository and currently uses the mariadb jdbc driver to connect.
|
|
You can changes this another driver based on your needs.
|
|
|
|
NOTE: Since this example uses the Spring Cloud Deployer Local to launch the partitions, you will need to establish the datasource settings using the SPRING_APPLICATION_JSON environment property as shown above.
|
|
|
|
== Dependencies:
|
|
|
|
A datasource (not in memory) must be configured based on normal Spring Boot conventions
|
|
(application.properties, application.yml, environment variables).
|
|
|
|
== Asynchronous remote partition task launch
|
|
Currently partitions are launched sequentially. To launch them asynchronously set the following environment variables:
|
|
|
|
* `spring.cloud.task.closecontextEnabled=true`
|
|
* `io.spring.asynchronous=true`
|
|
|
|
NOTE: We need to close the context since the use of ThreadPoolTaskExecutor leaves a thread active thus the app will not terminate.
|
|
To close the application appropriately, we will need to set `spring.cloud.task.closecontextEnabled`` to true.
|