Skip to content

i-Cell-Mobilsoft-Open-Source/reactive-messaging-redisstream

Repository files navigation

Reactive Messaging RedisStream

badge Maven central version of Project License of Project Use JakartaEE project

1. Introduction

This project provides a Redis Stream-based SmallRye Reactive Messaging connector that enables the use of the MicroProfile Reactive Messaging API over Redis Stream. The implementation allows seamless integration of asynchronous data streams into WildFly and Quarkus-based applications.

For more details on MicroProfile Reactive Messaging, check:

For information on SmallRye Reactive Messaging, visit:

2. Project Structure

This repository consists of the following main components:

2.1. RedisStream Connector

A Reactive Messaging connector compatible with WildFly that handles Redis Stream-based data flows. Similar to existing connectors (Kafka, AMQP, etc.), this can be configured without needing to manage the underlying implementation manually.

2.2. Quarkus Extension

For easy integration with Quarkus, the connector is also available as a Quarkus extension. This extension helps with configuration and optimizes the runtime environment. The extension consists of two main parts:

  • Runtime: Contains components required during application execution.

  • Deployment: Handles configuration aspects needed at build time.

2.3. Quarkus Sample

A sample application demonstrating how to use the extension with Quarkus. This project shows how to configure and use the Redis Stream connector in practice.

3. Usage

The RedisStream connector can be configured using MicroProfile Config properties. The following example demonstrates a simple producer-consumer setup:

microprofile-config.properties
mp.messaging.incoming.my-stream.connector=redis-stream
mp.messaging.incoming.my-stream.channel=my-channel

mp.messaging.outgoing.my-stream.connector=redis-stream
mp.messaging.outgoing.my-stream.channel=my-channel

You can test the solution by running the sample project.

4. Requirements

  • Java 17+

  • Maven 3.8.1+

  • Redis 6+

Can use it in:

  • Wildfly

  • Quarkus (with the extension)

5. Installation & Execution

5.1. Clone the Repository

git clone https://github.com/YOUR_GITHUB_USERNAME/reactive-messaging-redisstream.git
cd reactive-messaging-redisstream

5.2. Build with Maven

mvn clean install

5.3. Run the Quarkus Sample

cd sample-quarkus-app
mvn quarkus:dev

6. Contribution

If you’d like to contribute, feel free to open an issue or submit a pull request!

Packages

No packages published

Contributors 6

Languages