Pipelite Overview

Pipelite is a Java 17+ framework for building message-based integration pipelines. Its primary goal is to enable developers to connect heterogeneous systems through a declarative and composable programming model, inspired by the Enterprise Integration Patterns of Hohpe and Woolf.

Key Features

  • Fluent DSL — Pipeline definition through a type-safe, readable Java API.

  • Asynchronous engine — Non-blocking execution based on configurable thread pools.

  • Extensible Channel Adapters — Native integration with HTTP, Apache Kafka, scheduled timers, SLF4J, and linked pipelines.

  • Declarative Error Handling — Error channel and retry channel configurable directly in the flow definition.

  • Spring Boot Starter — Complete autoconfiguration for Spring Boot applications.

  • Open SPIChannelAdapter and Endpoint interfaces for implementing custom adapters.

When to Use Pipelite

Pipelite is particularly well suited to scenarios where you need to:

  • Build event-driven microservices that react to messages from Kafka queues or HTTP requests.

  • Implement data processing pipelines with transformation, filtering, and conditional routing.

  • Create scheduled workflows triggered by timers with automatic retry logic.

  • Connect internal application components without direct coupling.

Comparison with Other Frameworks

Feature Pipelite Apache Camel Spring Integration

Footprint

Lightweight (< 500 KB core)

Heavy (full runtime)

Medium (depends on Spring)

Configuration

Fluent Java DSL

Java/XML/YAML DSL

Java/XML/annotations DSL

Spring Boot

Dedicated starter

Dedicated starter

Native

EIP

Selected subset

Complete

Complete

Learning curve

Low

High

Medium

Project Structure

The Maven project is organized into separate modules by responsibility:

pipelite-framework/
├── pipelite-common          # Shared utilities
├── pipelite-spi             # Service Provider Interface
├── pipelite-dsl             # Domain Specific Language API
├── pipelite-expression      # Expression evaluation engine
├── pipelite-core            # Core execution engine
├── pipelite-channel-adapters
│   ├── default-channel-adapters
│   ├── http-channel-adapter
│   ├── kafka-channel-adapter
│   ├── link-channel-adapter
│   ├── slf4j-channel-adapter
│   └── time-channel-adapter
├── pipelite-spring-starter  # Spring Boot integration
├── pipelite-examples        # Application examples
└── framework-docs           # This documentation