3 votes

Ajouter des événements à l'inventaire des événements

Nous utilisons le framework axon version 3.4.2 et avons trouvé un bug dans notre code. Le bug concerne un événement manquant qui n'a pas été publié. La solution consiste à corriger le code, mais cela ne corrigerait pas le magasin d'événements et les vues.

Ma question est la suivante : comment résoudre ce problème ? Nous avons pensé à ajouter les événements au magasin d'événements (nous utilisons un magasin d'événements JDBC), mais sans les données correctes, les nouveaux événements ne seraient pas traités. Le mieux serait de le faire dans l'application en publiant l'événement dans axon et en laissant axon gérer tous les détails, mais il s'agit d'une action corrective unique.

Existe-t-il un moyen d'"injecter" un événement ponctuel dans l'axone ?

1voto

Steven Points 2089

Le commentaire que Matt a partagé est conceptuellement ce que vous devriez faire. Ainsi, pour résoudre le problème que vous avez involontairement introduit, vous devez produire une action de compensation, c'est-à-dire une commande. Cette commande sera traitée dans votre modèle de commande, validera l'état du modèle et publiera l'événement souhaité.

Ajouté, je suppose que votre événement doit provenir d'un agrégat, n'est-ce pas ? En termes d'Axon, cela signifie que vous voulez publier une événement de domaine plutôt qu'un événement .

Bien que vous puissiez publier des événements sur le site EventBus ou stocker dans le EventStore directement, il est plutôt compliqué de faire ces événements de domaine à travers ce processus. Ainsi, comme je l'ai dit au début et comme Matt Freeman l'a commenté dans sa question, une action compensatoire serait la solution, avec ou sans Axon.


Dernière remarque, sachez que l'Axon 4.2 est déjà sorti depuis un certain temps maintenant. Bien que l'Axon 3 continue de faire l'objet de corrections de bogues, aucune de ces corrections n'a été effectuée au cours de l'année dernière. En d'autres termes, il n'y a pas de développement actif sur l'Axon 3. Migrer vers une version plus récente serait donc bénéfique pour votre projet.

Prograide.com

Prograide est une communauté de développeurs qui cherche à élargir la connaissance de la programmation au-delà de l'anglais.
Pour cela nous avons les plus grands doutes résolus en français et vous pouvez aussi poser vos propres questions ou résoudre celles des autres.

Powered by:

X