Transaktion Synchronisation im Frühjahr Kafka

Ich möchte zum synchronisieren von kafka Transaktion mit einem repository-Transaktion:

@Transactional
public void syncTransaction(){
  myRepository.save(someObject)
  kafkaTemplate.send(someEvent)
}

Seit dem merge (https://github.com/spring-projects/spring-kafka/issues/373) und laut dem doc ist dies möglich. Dennoch habe ich Probleme zu verstehen und zu implementieren sind.
Blick auf das Beispiel in https://docs.spring.io/spring-kafka/reference/htmlsingle/#_transaction_synchronization ich habe ein MessageListenerContainer zu hören, um meine eigenen Veranstaltungen.
Muss ich dann trotzdem noch meine Ereignisse mit den KafkaTemplate?
Hat die MessageListenerContainer verbieten das versenden an den Makler?

Und wenn ich das richtig verstehe ist die kafkaTemplate und die kafkaTransactionManager über die Verwendung der gleichen producerFactory, in der ich zum aktivieren der Transaktion Einstellung ein transactionIdPrefix. Und in meinem Beispiel habe ich den TransactionManager der messageListenerContainer der DataSourceTransactionManager. Ist das richtig?

Aus meiner Perspektive sieht es komisch dass ich senden Sie ein Ereignis über kafkaTemplate, hört auf meine eigene Veranstaltung und leitet die Veranstaltung mit dem kafkaTemplate wieder.

Ich würde mir wirklich helfen wenn ich kann ein Beispiel für eine einfache Synchronisation von einem kafka-Transaktion mit einem repository-Transaktion und eine Erklärung.

Schreibe einen Kommentar