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 SPI —
ChannelAdapterandEndpointinterfaces 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