{"id":19656348,"url":"https://github.com/daggerok/spring-batch-examples","last_synced_at":"2026-04-13T14:31:47.794Z","repository":{"id":38101959,"uuid":"54295206","full_name":"daggerok/spring-batch-examples","owner":"daggerok","description":"Spring Batch examples using spring boot","archived":false,"fork":false,"pushed_at":"2022-07-19T07:54:30.000Z","size":392,"stargazers_count":3,"open_issues_count":0,"forks_count":0,"subscribers_count":3,"default_branch":"master","last_synced_at":"2025-02-27T02:20:21.867Z","etag":null,"topics":["docker","docker-compose","gradle","hypersql","liquibase","liquibase-changelog","liquibase-data-type","liquibase-data-types","liquibase-spring-batch","liquibase-spring-batch-hsql","liquibase-spring-batch-hsqldb","liquibase-spring-batch-hypersql","liquibase-spring-batch-mysql","liquibase-spring-batch-mysql-schema","liquibase-spring-batch-schema","maven","mysql","spring-batch","spring-boot"],"latest_commit_sha":null,"homepage":"","language":"Kotlin","has_issues":true,"has_wiki":null,"has_pages":null,"mirror_url":null,"source_name":null,"license":"mit","status":null,"scm":"git","pull_requests_enabled":true,"icon_url":"https://github.com/daggerok.png","metadata":{"files":{"readme":"README.md","changelog":null,"contributing":null,"funding":null,"license":"LICENSE","code_of_conduct":null,"threat_model":null,"audit":null,"citation":null,"codeowners":null,"security":null,"support":null}},"created_at":"2016-03-20T01:35:50.000Z","updated_at":"2023-07-18T14:38:45.000Z","dependencies_parsed_at":"2022-09-22T09:22:40.115Z","dependency_job_id":null,"html_url":"https://github.com/daggerok/spring-batch-examples","commit_stats":null,"previous_names":[],"tags_count":0,"template":false,"template_full_name":null,"purl":"pkg:github/daggerok/spring-batch-examples","repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/daggerok%2Fspring-batch-examples","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/daggerok%2Fspring-batch-examples/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/daggerok%2Fspring-batch-examples/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/daggerok%2Fspring-batch-examples/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/daggerok","download_url":"https://codeload.github.com/daggerok/spring-batch-examples/tar.gz/refs/heads/master","sbom_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/daggerok%2Fspring-batch-examples/sbom","scorecard":null,"host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":286080680,"owners_count":31757477,"icon_url":"https://github.com/github.png","version":null,"created_at":"2022-05-30T11:31:42.601Z","updated_at":"2026-04-13T13:27:56.013Z","status":"ssl_error","status_checked_at":"2026-04-13T13:21:23.512Z","response_time":93,"last_error":"SSL_connect returned=1 errno=0 peeraddr=140.82.121.5:443 state=error: unexpected eof while reading","robots_txt_status":"success","robots_txt_updated_at":"2025-07-24T06:49:26.215Z","robots_txt_url":"https://github.com/robots.txt","online":false,"can_crawl_api":true,"host_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub","repositories_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories","repository_names_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repository_names","owners_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners"}},"keywords":["docker","docker-compose","gradle","hypersql","liquibase","liquibase-changelog","liquibase-data-type","liquibase-data-types","liquibase-spring-batch","liquibase-spring-batch-hsql","liquibase-spring-batch-hsqldb","liquibase-spring-batch-hypersql","liquibase-spring-batch-mysql","liquibase-spring-batch-mysql-schema","liquibase-spring-batch-schema","maven","mysql","spring-batch","spring-boot"],"created_at":"2024-11-11T15:27:31.516Z","updated_at":"2026-04-13T14:31:47.776Z","avatar_url":"https://github.com/daggerok.png","language":"Kotlin","readme":"# spring-batch-examples [![CI](https://github.com/daggerok/spring-batch-examples/actions/workflows/ci.yaml/badge.svg)](https://github.com/daggerok/spring-batch-examples/actions/workflows/ci.yaml)\n\n## TODO:\n- [Spring Batch for cloud](https://www.youtube.com/watch?v=-Icd-s2JoAw\u0026t=1926s)\n- [Spring Tips: Spring Batch: file to pojo to jdbc import](https://www.youtube.com/watch?v=x4nBNLoizOc)\n- [High Performance Batch Processing](https://www.youtube.com/watch?v=J6IPlfm7N6w)\n- [Batch Processing in 2019](https://www.youtube.com/watch?v=bhFBtNiZYYY)\n- [Cloud Native Batch Processing](https://www.youtube.com/watch?v=1NZVwv1cmMc)\n- [Batching for the Modern Enterprise](https://www.youtube.com/watch?v=dIx81HYdpq4)\n\n## spring-batch-example [![Spring Batch Gradle](https://github.com/daggerok/spring-batch-examples/actions/workflows/spring-batch-gradle.yaml/badge.svg)](https://github.com/daggerok/spring-batch-examples/actions/workflows/spring-batch-gradle.yaml)\n```bash\ncd spring-batch-example ; ./gradlew clean bootRun\n```\n\n## spring-batch-job-scheduling [![Spring Batch job scheduling](https://github.com/daggerok/spring-batch-examples/actions/workflows/spring-batch-job-scheduling.yaml/badge.svg)](https://github.com/daggerok/spring-batch-examples/actions/workflows/spring-batch-job-scheduling.yaml)\n```bash\nmvn -f spring-batch-job-scheduling spring-boot:start\nsleep 10s\nmvn -f spring-batch-job-scheduling spring-boot:stop\n```\n\n## spring-batch-metrics [![Spring Batch Metrics](https://github.com/daggerok/spring-batch-examples/actions/workflows/spring-batch-metrics.yaml/badge.svg)](https://github.com/daggerok/spring-batch-examples/actions/workflows/spring-batch-metrics.yaml)\n```bash\nrm -rf ~/.m2/repository/com/github/daggerok\nmvn clean package install -f spring-batch-pipeline-chain\n\nmvn spring-boot:start -f spring-batch-pipeline-chain/apps/user-service\nmvn spring-boot:start -f spring-batch-pipeline-chain/apps/payment-service\nmvn spring-boot:start -f spring-batch-pipeline-chain/apps/app\n\nhttp post :8080/api/launch-payments-report ; http get :8080/api\n\nmvn spring-boot:stop -f spring-batch-pipeline-chain/apps/app\nmvn spring-boot:stop -f spring-batch-pipeline-chain/apps/user-service\nmvn spring-boot:stop -f spring-batch-pipeline-chain/apps/payment-service\n\ncat ./spring-batch-pipeline-chain/apps/app/target/payments-report.csv\n```\n\n## spring-batch-retry [![Spring Batch Retry](https://github.com/daggerok/spring-batch-examples/actions/workflows/spring-batch-retry.yaml/badge.svg)](https://github.com/daggerok/spring-batch-examples/actions/workflows/spring-batch-retry.yaml)\n```bash\nrm -rf ~/.m2/repository/com/github/daggerok\nmvn clean package install -f spring-batch-retry\n\nmvn spring-boot:start -f spring-batch-retry/apps/user-service\nmvn spring-boot:start -f spring-batch-retry/apps/payment-service\nmvn spring-boot:start -f spring-batch-retry/apps/app\n\nhttp post :8080/api/launch-payments-report ; sleep 20s ; http get :8080/api\n\nmvn spring-boot:stop -f spring-batch-retry/apps/app\nmvn spring-boot:stop -f spring-batch-retry/apps/user-service\nmvn spring-boot:stop -f spring-batch-retry/apps/payment-service\n\ncat ./spring-batch-retry/apps/app/target/payments-report.csv\n```\n\n## txt-to-csv-converter [![Text to CSV converter](https://github.com/daggerok/spring-batch-examples/actions/workflows/txt-to-csv-converter.yaml/badge.svg)](https://github.com/daggerok/spring-batch-examples/actions/workflows/txt-to-csv-converter.yaml)\n```bash\ncd txt-to-csv-converter ; ./mvnw clean compile spring-boot:run\n```\n\n## read-process-write-with-tasklets [![Read process writer taskets](https://github.com/daggerok/spring-batch-examples/actions/workflows/read-process-writer-tasklets.yaml/badge.svg)](https://github.com/daggerok/spring-batch-examples/actions/workflows/read-process-writer-tasklets.yaml)\n```bash\ncd read-process-write-with-tasklets ; ./mvnw spring-boot:start\nhttp post :8080/api/launch-my-job\ncd read-process-write-with-tasklets ; ./mvnw spring-boot:stop\n```\n\n## spring-batch-metrics [![Spring Batch Metrics](https://github.com/daggerok/spring-batch-examples/actions/workflows/spring-batch-metrics.yaml/badge.svg)](https://github.com/daggerok/spring-batch-examples/actions/workflows/spring-batch-metrics.yaml)\n```bash\nrm -rf ~/.m2/repository/com/github/daggerok\nmvn clean package install -f spring-batch-metrics\n\nmvn spring-boot:start -f spring-batch-metrics/apps/user-service\nmvn spring-boot:start -f spring-batch-metrics/apps/payment-service\nmvn spring-boot:start -f spring-batch-metrics/apps/app\n\nhttp post :8080/api/launch-payments-report ; http get :8080/api\nhttp get  :8080/actuator/metrics/app.EnrichUsersDataProcessor\n\nmvn spring-boot:stop -f spring-batch-metrics/apps/app\nmvn spring-boot:stop -f spring-batch-metrics/apps/user-service\nmvn spring-boot:stop -f spring-batch-metrics/apps/payment-service\n\ncat ./spring-batch-metrics/apps/app/target/payments-report.csv\n```\n\n## run-steps-in-parallel-with-flow-split [![Run steps in parallel with flow split](https://github.com/daggerok/spring-batch-examples/actions/workflows/run-steps-in-parallel-with-flow-split.yaml/badge.svg)](https://github.com/daggerok/spring-batch-examples/actions/workflows/run-steps-in-parallel-with-flow-split.yaml)\n```bash\nrm -rf ~/.m2/repository/com/github/daggerok\nmvn clean package install -f run-steps-in-parallel-with-flow-split\n\nmvn spring-boot:start -f run-steps-in-parallel-with-flow-split/apps/user-service\nmvn spring-boot:start -f run-steps-in-parallel-with-flow-split/apps/payment-service\nmvn spring-boot:start -f run-steps-in-parallel-with-flow-split/apps/app\n\nhttp post :8080/api/launch-payments-report ; http get :8080/api\nhttp get  :8080/actuator/metrics/app.loadAllPaymentsFlow\nhttp get  :8080/actuator/metrics/app.loadAllUsersFlow\nhttp get  :8080/actuator/metrics/app.enrichReportTaskletStep\n\nmvn spring-boot:stop -f run-steps-in-parallel-with-flow-split/apps/app\nmvn spring-boot:stop -f run-steps-in-parallel-with-flow-split/apps/user-service\nmvn spring-boot:stop -f run-steps-in-parallel-with-flow-split/apps/payment-service\n\ncat ./run-steps-in-parallel-with-flow-split/apps/app/target/payments-report.csv\n```\n\n## batch-to-cloud: step-1-plain-old-batch [![Spring Batch for cloud](https://github.com/daggerok/spring-batch-examples/actions/workflows/batch-to-cloud-1.yaml/badge.svg)](https://github.com/daggerok/spring-batch-examples/actions/workflows/batch-to-cloud-1.yaml)\n```bash\nrm -rf ~/.m2/repository/com/github/daggerok\nmvn clean package install -f batch-to-cloud/step-1-plain-old-batch\n\nmvn spring-boot:start -f batch-to-cloud/step-1-plain-old-batch/user-service\nmvn spring-boot:start -f batch-to-cloud/step-1-plain-old-batch/payment-service\nmvn spring-boot:start -f batch-to-cloud/step-1-plain-old-batch/app\n\nhttp post :8080/api/launch-payments-report ; http get :8080/api\nhttp get  :8080/actuator/metrics/app.loadAllPaymentsFlow\nhttp get  :8080/actuator/metrics/app.loadAllUsersFlow\nhttp get  :8080/actuator/metrics/app.enrichReportTaskletStep\n\nmvn spring-boot:stop -f batch-to-cloud/step-1-plain-old-batch/app\nmvn spring-boot:stop -f batch-to-cloud/step-1-plain-old-batch/user-service\nmvn spring-boot:stop -f batch-to-cloud/step-1-plain-old-batch/payment-service\n\ncat ./batch-to-cloud/step-1-plain-old-batch/app/target/payments-report.csv\n```\n\n## rtfm\n* [Spring Batch testing](https://docs.spring.io/spring-batch/docs/current/reference/html/testing.html)\n* [Spring Batch Retry](https://sysout.ru/otkazoustojchivost-v-spring-batch-retry-i-skip/)\n* [Retry rollbackOnly Transactions 1](https://stackoverflow.com/questions/19349898/unexpectedrollbackexception-transaction-rolled-back-because-it-has-been-marked)\n* [Retry rollbackOnly Transactions 2](https://stackoverflow.com/questions/34902380/commit-failed-while-step-execution-data-was-already-updated)\n* https://www.baeldung.com/spring-retry\n* [Spring Batch example with Gradle 5.4.1](./spring-batch-example/)\n","funding_links":[],"categories":[],"sub_categories":[],"project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fdaggerok%2Fspring-batch-examples","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Fdaggerok%2Fspring-batch-examples","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fdaggerok%2Fspring-batch-examples/lists"}