This version is still in development and is not considered stable yet.

DSL

The Pipelite DSL is a fluent, type-safe Java API that allows integration pipelines to be defined declaratively. The entry point is always Pipelite.defineFlow(name), which returns a builder with steps constrained by the interface hierarchy.

Operation hierarchy

FlowOperations
  └─ .fromSource(url)  ──► SourceOperations
                               extends ProcessOperations
                                 ├─ .process(...)
                                 ├─ .transformPayload(...)
                                 ├─ .filter(...)
                                 ├─ .wireTap(...)
                                 ├─ .split(...)
                                 ├─ .toRoute(...)   ──► BuildOperations
                                 └─ .toSink(url)    ──► SinkOperations
                                                          extends BuildOperations

BuildOperations (mutually exclusive - each returns EndOperations, only .build() next)
  ├─ .withRetry(...)
  ├─ .withErrorChannel(...)
  ├─ .withExceptionHandler(...)
  └─ .build()

The interface hierarchy ensures that the Java compiler enforces the correct sequence: source → processors → (optional route or sink) → at most one error-handling mode → build.

Page Content

Flow Definition

All builder operations: fromSource, process, transformPayload, filter, wireTap, toSink, withRetry, withErrorChannel, withExceptionHandler, build.

Routing

Content-based routing, recipient list, and routing slip.

Split / Aggregate

Splitting a collection payload into independent messages and aggregating the results.

Expressions

Expression syntax used by filter and routers.