Ecosyste.ms: Awesome

An open API service indexing awesome lists of open source software.

Awesome Lists | Featured Topics | Projects

https://github.com/arey/spring-batch-toolkit

Some extensions for the Spring Batch project
https://github.com/arey/spring-batch-toolkit

Last synced: 2 days ago
JSON representation

Some extensions for the Spring Batch project

Awesome Lists containing this project

README

        

# Spring Batch Toolkit #

This toolkit provides additional features to the Spring Batch framework.

## Features ##

* Tasklet used to **delete data from Spring Batch Metadata tables** that are N months old.
* **Elasticsearch** tasklets, processor and writer to create/setup/delete indices and write documents.
* Logging Spring Batch listener
* **Spring Integration Endpoints** that launch jobs, wait the end of a job and send email with job information.
* Tasklet that uncompress a zip file to a working directory.
* Tasklet that deletes a directory recursively.

## Quick Start ##

Download the jar though Maven:

```xml

com.javaetmoi.core
spring-batch-toolkit
4.0.0

```

The Spring Batch Toolkit artefacts are available from [Maven Central](http://repo1.maven.org/maven2/com/javaetmoi/core/spring-batch-toolkit/)

[![Maven Central](https://maven-badges.herokuapp.com/maven-central/com.javaetmoi.core/spring-batch-toolkit/badge.svg)](https://maven-badges.herokuapp.com/maven-central/com.javaetmoi.core/spring-batch-toolkit)

Use the below compatibility matrix to choose the appropriated version:

| spring-batch-toolkit | spring-batch | spring-framework | elasticsearch | Release date |
|:--------------------:|:------------:|:----------------:|:--------------:|:------------:|
| 4.0.0 | 4.0 | 5.0 | 6.0 | |
| 1.0.1 | 2.2 - 3.x | 4.0 - 4.x | 4.2.3 | 2015-06-15 |
| 0.1.0 | 2.0 - 2.1 | 3.0 - 3.x | N/A | 2013-07-10 |

## Contributing to Spring Batch Tookit ##

* Github is for social coding platform: if you want to write code, we encourage contributions through pull requests from [forks of this repository](http://help.github.com/forking/). If you want to contribute code this way, please reference a GitHub ticket as well covering the specific issue you are addressing.

### Development environment installation ###

Download the code with git:
git clone git://github.com/arey/spring-batch-toolkit.git

Compile the code with maven:
mvn clean install

If you're using an IDE that supports Maven-based projects (IntelliJ Idea, Netbeans or m2Eclipse), you can import the project directly from its POM.
Otherwise, generate IDE metadata with the related IDE maven plugin:
mvn eclipse:clean eclipse:eclipse

### Unit test execution ###

By upgrading the Elasticsearch version from 2.1 to 6.0, we used to migrate the unit tests
in charge of testing Elasticsearch tasklets et writers. They now inherit from the ESIntegTestCase
class provided by the org.elasticsearch.test:framework artefact.

At startup, Elasticsearch checks for duplicate class files across the classpath causing "jar hell".
All duplicated classes have been excluded from the pom.xml.
For running theses tests from IntelliJ IDEA, you have to do some tricks.
See the [Elasticsearch Contributing guide](https://github.com/elastic/elasticsearch/blob/master/CONTRIBUTING.md)

## Documentation ##

French articles on the [javaetmoi.com](http://javaetmoi.com) blog:

* [Parallélisation de traitements batchs](http://javaetmoi.com/2012/12/parallelisation-de-traitements-batchs/)
* [Spring Batch s’auto-nettoie](http://javaetmoi.com/2012/06/sprint-batch-sauto-nettoie/)

## Release Note ##


VersionRelease dateFeatures


4.0.02017-12-15
Spring Batch 4.0 upgrade

Spring Framework 5.0 support

Elasticsearch 6.0 upgrade



1.0.12015-08-29
Spring Framework 4.2 support

1.0.02015-06-15
Spring Batch 3.0 upgrade

Spring Batch Integration and Admin Endpoints

Add UncompressTasklet and DeleteDirectoryTasklet


0.2.02013-11-05
Spring Batch 2.2 upgrade

Elasticsearch tasklets and writer

Logging Spring Batch listener


0.1.02013-07-10
RemoveSpringBatchHistoryTasklet, partitioning and parallel steps

## Credits ##

* Uses [Maven](http://maven.apache.org/) as a build tool
* Uses [Cloudbees](http://www.cloudbees.com/foss) and [Travis CI](www.travis-ci.org) for continuous integration builds whenever code is pushed into GitHub

## Build Status ##

Travis: [![Build
Status](https://travis-ci.org/arey/spring-batch-toolkit.png?branch=master)](https://travis-ci.org/arey/spring-batch-toolkit)

Cloudbees Jenkins: [![Build
Status](https://javaetmoi.ci.cloudbees.com/job/spring-batch-toolkit/badge/icon)](https://javaetmoi.ci.cloudbees.com/job/spring-batch-toolkit/)

Coverage Status: [![Coverage Status](https://img.shields.io/coveralls/arey/spring-batch-toolkit.svg)](https://coveralls.io/r/arey/spring-batch-toolkit?branch=master)