1 package de.juplo.kafka.outbox;
3 import com.fasterxml.jackson.core.JsonProcessingException;
4 import com.fasterxml.jackson.databind.ObjectMapper;
5 import lombok.AllArgsConstructor;
6 import org.springframework.stereotype.Component;
7 import org.springframework.transaction.event.TransactionPhase;
8 import org.springframework.transaction.event.TransactionalEventListener;
13 public class OutboxListener
15 private final OutboxRepository repository;
16 private final ObjectMapper mapper;
19 @TransactionalEventListener(phase = TransactionPhase.BEFORE_COMMIT)
20 public void onUserEvent(OutboxEvent event)
26 mapper.writeValueAsString(event.getValue()),
29 catch (JsonProcessingException e)
31 throw new RuntimeException(e);