Installation
Core dependency (standalone)
To use Pipelite without Spring Boot, add the core module to your pom.xml:
<dependency>
<groupId>io.pipelite</groupId>
<artifactId>pipelite-core</artifactId>
<version>1.0.0-SNAPSHOT</version>
</dependency>
The pipelite-core module transitively includes pipelite-common, pipelite-spi, pipelite-dsl, pipelite-expression, and the time and slf4j channel adapters.
Aligning versions with the BOM
An application that uses several Pipelite artifacts (the core, a few channel adapters, the test support) can import the bill of materials once, and declare the artifacts without a version:
<dependencyManagement>
<dependencies>
<dependency>
<groupId>io.pipelite</groupId>
<artifactId>pipelite-bom</artifactId>
<version>1.0.0-SNAPSHOT</version>
<type>pom</type>
<scope>import</scope>
</dependency>
</dependencies>
</dependencyManagement>
<dependencies>
<dependency>
<groupId>io.pipelite</groupId>
<artifactId>pipelite-core</artifactId>
</dependency>
<dependency>
<groupId>io.pipelite</groupId>
<artifactId>kafka-channel-adapter</artifactId>
</dependency>
</dependencies>
A channel adapter written by a third party can import it too, to depend on pipelite-spi at the version of the
framework it is built against.
Spring Boot integration
For Spring Boot applications, use the dedicated starter instead:
<dependency>
<groupId>io.pipelite</groupId>
<artifactId>pipelite-spring-starter</artifactId>
<version>1.0.0-SNAPSHOT</version>
</dependency>
The starter adds autoconfiguration and automatic lifecycle management for the PipeliteContext.
Optional channel adapters
The HTTP and Kafka adapters must be added explicitly:
<!-- HTTP (Undertow) -->
<dependency>
<groupId>io.pipelite</groupId>
<artifactId>http-channel-adapter</artifactId>
<version>1.0.0-SNAPSHOT</version>
</dependency>
<!-- Apache Kafka -->
<dependency>
<groupId>io.pipelite</groupId>
<artifactId>kafka-channel-adapter</artifactId>
<version>1.0.0-SNAPSHOT</version>
</dependency>
The time and slf4j adapters (time-channel-adapter, slf4j-channel-adapter) are already present as transitive dependencies of pipelite-core; queue is built into pipelite-core itself.
Test support
To write BDD-style unit and integration tests for processors and flows, add the test kit in test scope:
<dependency>
<groupId>io.pipelite</groupId>
<artifactId>pipelite-test-support</artifactId>
<version>1.0.0-SNAPSHOT</version>
<scope>test</scope>
</dependency>
See Testing for the full guide.