X-Git-Url: https://juplo.de/gitweb/?p=demos%2Fkafka%2Foutbox;a=blobdiff_plain;f=delivery%2Fsrc%2Fmain%2Fjava%2Fde%2Fjuplo%2Fkafka%2Foutbox%2Fdelivery%2FOutboxRepository.java;h=9dee55de3da0421ef015d9ade6d0b9867715be6d;hp=d6c814dbe56af11d401221a4af64059ed81aa186;hb=b6d734cd09d3e23171eaf6235d19e73bc11ab420;hpb=3f41296dae5c094a29f8a89cda2bccfb8bc93c0a diff --git a/delivery/src/main/java/de/juplo/kafka/outbox/delivery/OutboxRepository.java b/delivery/src/main/java/de/juplo/kafka/outbox/delivery/OutboxRepository.java index d6c814d..9dee55d 100644 --- a/delivery/src/main/java/de/juplo/kafka/outbox/delivery/OutboxRepository.java +++ b/delivery/src/main/java/de/juplo/kafka/outbox/delivery/OutboxRepository.java @@ -8,6 +8,7 @@ import org.springframework.stereotype.Repository; import java.sql.Timestamp; import java.time.ZonedDateTime; import java.util.List; +import java.util.Set; @Repository @@ -19,7 +20,7 @@ public class OutboxRepository private static final String SQL_UPDATE = "INSERT INTO outbox (key, value, issued) VALUES (:key, :value, :issued)"; private static final String SQL_DELETE = - "DELETE FROM outbox WHERE id <= :id"; + "DELETE FROM outbox WHERE id IN (:ids)"; private final NamedParameterJdbcTemplate jdbcTemplate; @@ -33,10 +34,12 @@ public class OutboxRepository jdbcTemplate.update(SQL_UPDATE, parameters); } - public int delete(Long id) + public int delete(Set ids) { + if (ids == null || ids.isEmpty()) + return 0; MapSqlParameterSource parameters = new MapSqlParameterSource(); - parameters.addValue("id", id); + parameters.addValue("ids", ids); return jdbcTemplate.update(SQL_DELETE, parameters); }