## Apache BatchEE

# Modules

## jbatch (aka batchee-jbatch)

### Dependency

    <dependency>
      <groupId>org.apache.batchee</groupId>
      <artifactId>batchee-jbatch</artifactId>
      <version>${batchee.version}</version>
    </dependency>

### Goal

Implements JBatch (aka JSR 352). More details on configuration page.

## Hazelcast

### Dependency

    <dependency>
      <groupId>org.apache.batchee</groupId>
      <artifactId>batchee-hazelcast</artifactId>
      <version>${batchee.version}</version>
    </dependency>

### Goal

A module based on Hazelcast API to allow distributed locks.

## GUI/Web module

### Dependency

    <dependency>
      <groupId>org.apache.batchee</groupId>
      <artifactId>batchee-servlet</artifactId>
      <version>${batchee.version}</version>
    </dependency>

    <dependency>
      <groupId>org.apache.batchee</groupId>
      <artifactId>batchee-jaxrs-client</artifactId>
      <version>${batchee.version}</version>
    </dependency>

    <dependency>
      <groupId>org.apache.batchee</groupId>
      <artifactId>batchee-jaxrs-server</artifactId>
      <version>${batchee.version}</version>
    </dependency>

### Goal

A simple web front to visualize JBatch information and expose as JAX-RS resource JBatch `JobOperator`.

## Extras

### Dependency

    <dependency>
      <groupId>org.apache.batchee</groupId>
      <artifactId>batchee-extras</artifactId>
      <version>${batchee.version}</version>
    </dependency>

### Goal

Basic implementations for Readers/Writers/Processors/…. More on it in extensions part.

## BeanIO

### Dependency

    <dependency>
      <groupId>org.apache.batchee</groupId>
      <artifactId>batchee-beanio</artifactId>
      <version>${batchee.version}</version>
    </dependency>

### Goal

Basic implementations of a reader and a writer using BeanIO library. Details in extensions part.

## JSefa

### Dependency

    <dependency>
      <groupId>org.apache.batchee</groupId>
      <artifactId>batchee-jsefa</artifactId>
      <version>${batchee.version}</version>
    </dependency>

### Goal

Basic implementations of a reader and a writer using JSefa library.

## Groovy

### Dependency

    <dependency>
      <groupId>org.apache.batchee</groupId>
      <artifactId>batchee-groovy</artifactId>
      <version>${batchee.version}</version>
    </dependency>

### Goal

Basic implementations of a reader/processor/writer/batchlet delegating to a groovy script the processing. It allows to add some dynamicity to batches.

## Camel

### Dependency

    <dependency>
      <groupId>org.apache.batchee</groupId>
      <artifactId>batchee-camel</artifactId>
      <version>${batchee.version}</version>
    </dependency>

### Goal

A simple integration with Apache Camel.

## CDI

### Dependency

    <dependency>
      <groupId>org.apache.batchee</groupId>
      <artifactId>batchee-cdi</artifactId>
      <version>${batchee.version}</version>
    </dependency>

### Goal

Provides basic batch oriented scopes (`@JobScoped` and `@StepScoped`).

## Maven Plugin

### Coordinates

    <plugin>
      <groupId>org.apache.batchee</groupId>
      <artifactId>batchee-maven-plugin</artifactId>
      <version>${batchee.version}</version>
    </plugin>

### Goal

Allows you to contol your batchees from Maven.

## Jackson

### Dependency

    <dependency>
      <groupId>org.apache.batchee</groupId>
      <artifactId>batchee-jackson</artifactId>
      <version>${batchee.version}</version>
    </dependency>

### Goal

Provides reader/writer based on jackson to read/write json.

## ModelMapper

### Dependency

    <dependency>
      <groupId>org.apache.batchee</groupId>
      <artifactId>batchee-modelmapper</artifactId>
      <version>${batchee.version}</version>
    </dependency>

### Goal

Provides an `ItemProcessor` mapping input bean to another one based on `ModelMapper`.