Skip to content

OutboxScheduler API

Interfaz

kotlin
interface OutboxScheduler {
    fun processOutboxMessage()
}

Métodos

MétodoParámetrosRetornoDescripción
processOutboxMessage()NingunovoidProcesa mensajes pendientes de Kafka

Estados (OutboxStatus Enum)

EstadoDescripción
STARTEDEvento creado, pendiente de publicar
COMPLETEDEvento publicado exitosamente
FAILEDError al intentar publicar

Ejemplo de Implementación

java
@Component
public class MyOutboxScheduler implements OutboxScheduler {
    @Autowired OutboxRepository repo;
    @Scheduled(fixedRate = 5000)
    public void processOutboxMessage() {
        List<OutboxMessage> pending = repo.findByStatus(STARTED);
        pending.forEach(msg -> {
            kafkaTemplate.send(msg.getTopic(), msg.getPayload());
            repo.markCompleted(msg.getId());
        });
    }
}

Ver también: lg5-spring-outbox documentation

Released under the MIT License.