Skip to main content

Apache Camel ⇄ Pulse

Intermediate ⏱ 10 min camel · java · http endpoint · ✅ ran E2E in repo

Camel owns the routing/EIP orchestration; Pulse is the stream-processing step reached through Camel's stock http component — no glue. Repo example: examples/camel-pulse-bridge/ran end-to-end with a real CamelContext on Camel 4.8 LTS.

from("direct:score")
.marshal().json()
.to("http://<pulse>/api/pulse/x/order-scoring/in") // send the order
.delay(1500)
.to("http://<pulse>/api/pulse/events/order-scoring.score.out") // read the verdict
.process(decide); // escalate | auto-approve

Run it

pulse server start --dev
mkdir app && cp pulse.yaml app/ && (cd app && pulse deploy .) # stands up order-scoring
PULSE_URL=http://localhost:9090 mvn -q compile exec:java

The token comes from PULSE_TOKEN or ~/.pulse/credentials.json (written by the --dev login).

Validated output

amount= 2500 -> decision=escalate
amount= 300 -> decision=auto-approve

Camel keeps the EIP vocabulary (routes, processors, error handlers); Pulse keeps the windowed, keyed, AI-capable stream state behind one endpoint URL.

Next