20 Reactive Camel

 

This bonus online chapters covers

  • First steps with Reactive Streams
  • Using Reactive Streams with Camel
  • Using Eclipse Vert.x with Camel

If you read this book in chronological order, you’ve been on a long journey. This is the first of two bonus online-only chapters from the hands of Claus and Jonathan, and this time we’ll keep it short. We have only two topics we want to bring to your attention here at the end.

Apache Camel is a well-established project that’s been around for over a decade. A decade in the IT industry is like half a lifetime for humans. Only recently has reactive programming started to gain more interest, especially since Java 8 added support for java.util.stream in its streaming API. Further interest may be spurred with the upcoming Spring Framework 5, which now includes a reactive engine.

As for Apache Camel, the current architecture of Camel 2.x is based on a hybrid routing engine that executes both blocking and nonblocking processing, depending on which EIPs and components are being used. The upcoming Camel 3.x architecture is intended to be a dual engine comprising the current hybrid engine and a new reactive engine based on a reactive event bus.

20.1 Using Reactive Streams with Camel

20.1.1 Reactive Streams API

20.1.2 Reactive flow control with back pressure

20.1.3 First steps with Reactive Streams

20.1.4 Using Camel with Reactive Streams

20.1.5 Controlling back pressure from the producer side

20.1.6 Controlling back pressure from the consumer side

20.2 Using Vert.x with Camel

20.2.1 Building a football simulator using Vert.x

20.2.2 Using Camel together with Vert.x

20.2.3 Summary of using Camel with Vert.x for microservices

20.3 Summary and best practices