У меня есть слушатель Kafka, получающий авро-сообщение:
@Service
class MyListener(private val useCase: MyUseCase) {
@KafkaListener(topics = ["\${app.topic}"], autoStartup = "\${app.event.auto-startup:true}")
fun listen(message: decision_made_v1) {
useCase.perform(message.payload)
}
}
В другой части моего приложения есть операция с репозиторием:
@Component
class CreateCreditAnalysisUseCase(private val myRepository: MyRepository) {
fun execute(command: MyCommand): CreditAnalysis {
return myRepository.save(command)
}
}
Как мне разрешить моему слушателю Kafka получать и звонить useCase.perform
только после того, как myRepository.save
зафиксировано в db?