Skip to content

cescoffier/quarkus-reactive-messaging-demo

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

31 Commits
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

Bring Reactive to Java Enterprise Developer demo

Build

mvn clean install

Demos

Demo 1

The demo 1 illustrates how you can bridge Reactive Streams and Jax-RS. It forwards data from a Publisher into a SSE stream.

Demo 2

The demo 2 illustrates how to use MicroProfile Reactive Messaging to process data conveyed into a Reactive Stream. It shows how to generate streams using MicroProfile Reactive Messaging @Outgoing annotation and how the items are manipulated one by one as in:

  @Incoming("health")
  @Outgoing("heartbeat")
  public JsonObject filtered(JsonObject input) {
    LOGGER.info("Received {}", input.encode());
    return input.getJsonObject("heartbeat");
  }

Demo 3

The demo 3 extends demo 2 but manipulate streams instead of individual items. It also shows how asynchronous action (here a call to a remote service) can be integrated into the pipeline.

Demo 4

The demo 4 introduces transport connectors. The data is no more generated in the same application, but in another application and sent to a MQTT broker. The web application retrieves the data from MQTT and send it to the web frontend.

Demo 5

Demo 5 is all about event-driven and asynchronous microservices. It is composed by:

  • a sensor application sending data to a MQTT broker
  • a processor application manipulating data from MQTT and forwarding it to Kafka
  • a snapshot service which is a simple HTTP microservice
  • a web application retrieving the data from Kafka, acknowledge the messages and forward them to the UI.

This demo shows:

  • Kafka and MQTT support
  • Acknowledgement policies

About

No description, website, or topics provided.

Resources

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published

Contributors 3

  •  
  •  
  •