TP5 - S’abonner à un événement-cuisine à partir d’un agrégat et créer une vue CQRS
1. Résumé
Lorsque vous utilisez Event Sourcing, il n’est en réalité possible d’interroger un agrégat qu’à l’aide de sa clé primaire. Évidemment, nous souhaitons souvent exécuter différentes requêtes. Nous pouvons nous abonner aux événements publiés par un agrégat et créer des index ou des magasins de données alternatifs pour prendre en charge ces requêtes.
Dans ce TP, nous allons rester simples et créer deux index alternatifs. Ceux-ci seront utilisés par les méthodes du service d’application que nous implémenterons dans le TP6.
Nous réaliserons deux scenarios :
-
Nous prendrons en charge la recherche d’une commande
CommandeCuisineà l’aide de sa référenceReferenceCommandeEnLigne -
Nous prendrons en charge la recherche d’un ensemble
Set<Pizza>à l’aide de leur référenceReferenceCommandeCuisineassociée
Vous pouvez exécuter com.pizzeria.suites.Lab5Suite pour vérifier votre progression dans ce TP.
2. Instructions.
-
Terminez l’implémentation de la méthode
DepotEvenementsCommandeCuisineEnCoursDeTraitement.rechercheParReferenceDeCommandeEnLigne(). Celle-ci est un peu compliquée. En fait, vous devez créer un index qui vous permet de trouver uneReferenceCommandeCuisineà partir de saReferenceCommandeEnLigne. Vous devrez mettre à jour cet index chaque fois qu’uneCommandeCuisineest ajoutée au dépôt. -
Terminez l’implémentation de
DepotEvenementPizzaEnCoursDeTraitement.rechercherParReferenceDeCommandeCuisine(). Celle-ci est un peu plus compliquée. En fait, vous devez créer un index qui vous permet de trouver unSet<Pizza>à partir de saReferenceCommandeCuisineassociée. Vous devrez mettre à jour cet index chaque fois qu’unePizzasera ajoutée au dépôt.