Closed lelexdrugo closed 2 years ago
Ricordarsi di eseguire il file docker-compose (anche da intellij stesso, tramite il tasto play che compare di fianco). Questo scaricherà le due immagini (kafka e zookeper) e creerà il container correttamente. Solo dopo che il container sarà avviato i servizi potranno avviarsi contattando il server Kafka
è necessario aggiungere un'altra dipendenza per poter correttamente serializzare/deserializzare (e quindi costruire il messaggio a partire dal kpo) oggetti contenenti date (come nel nostro caso)
Stando a quanto dicono altre guide (https://www.confluent.io/blog/apache-kafka-spring-boot-application/) si può evitare un po' di codice se si sceglie di usare soltanto le application.properties e non una classe di configurazione annotata con @Configuration
C'è un problema se si usa il codice della guida. In pratica viene fatto un ack esplicito, e nella configurazione viene marcato come MANUAL-IMMEDIATE la tipologia di ack che si deve usare. Credo che stando a: https://github.com/spring-projects/spring-kafka/issues/1683 Non ci sia bisogno di marcare come MANUAL l'ack
Attualmente (1269ffe2f83d587ab2cfb2e6b945df8ee0f008c8) catalog riesce a mandare message al payment. Bisogna aggiungere un altro topic con cui il payment si può comportare da produce e su cui il traveler possa ricevere le risposte
A message broker must be used to allow communication between TicketCatalogService and PaymentService. Kafka is the selected one. From lab track:
Resource suggested to use: https://dev.to/magnuspedro/setting-up-spring-kafka-with-kotlin-53ea