Sfruttare al massimo l’Event Bus di Quarkus

Benvenuto nella documentazione di riferimento del progetto eventbus-logging-filter-jaxrs — un progetto Quarkus che dimostra come sfruttare al massimo l'Event Bus per il tracciamento e logging di richieste e risposte JAX-RS.

Questa guida descrive nel dettaglio l’Event Bus di Quarkus, spiegando come sfruttare le caratteristiche peculiari di questo componente fondamentale per implementare applicazioni e sistemi basati su eventi.

Questa documentazione è allineata alla versione 1.4.1 del progetto software eventbus-logging-filter-jaxrs e fa riferimento a Quarkus 3.34.3.

1. Struttura della guida

Capitolo Descrizione

Introduzione

Panoramica dell’Event Bus di Quarkus e del suo ruolo nelle applicazioni cloud native.

Cos’è l’Event Bus di Quarkus?

Definizione, utilizzi, vantaggi e possibili svantaggi dell’Event Bus di Quarkus.

Come funziona l’Event Bus di Quarkus

Spiegazione del funzionamento interno: componenti (Producer, Consumer, Bus), meccanismi di consegna e dinamica degli eventi.

Progettiamo qualcosa di concreto

Progettazione di un sistema per il tracciamento delle richieste/risposte JAX-RS con diagrammi di flusso e sequenza.

Implementiamo step-by-step

Guida passo-passo all’implementazione: creazione del progetto, filtro JAX-RS, Event Bus, Consumer, Dispatcher e Event Handler (MongoDB e AMQP).

Bonus: Deploy su OpenShift

Come effettuare il deploy dell’applicazione sulla Developer Sandbox di Red Hat OpenShift.

Risorse

Raccolta di risorse utili: documentazione ufficiale, articoli e libri consigliati.

Conclusioni

Riepilogo e considerazioni finali sull’approccio adottato.

2. Quick Start

Per eseguire il progetto in locale in modalità sviluppo:

# Clona il repository
git clone {github-url}
cd {project-name}

# Avvia Quarkus in modalità dev (Dev Services avviano automaticamente MongoDB e AMQP)
./mvnw quarkus:dev

Per maggiori dettagli consulta il README del progetto su GitHub.

3. Licenza

Questa opera è rilasciata nei termini della licenza Creative Commons Attribution-NonCommercial-ShareAlike 4.0.

Tutti i diritti d’autore appartengono ad Antonio Musarra. Il progetto di esempio è disponibile su GitHub come progetto open source.