diff --git a/src/main/java/io/wkrzywiec/hexagonal/library/LibraryHexagonalApplication.java b/src/main/java/io/wkrzywiec/hexagonal/library/LibraryHexagonalApplication.java index 99668f0..492319b 100644 --- a/src/main/java/io/wkrzywiec/hexagonal/library/LibraryHexagonalApplication.java +++ b/src/main/java/io/wkrzywiec/hexagonal/library/LibraryHexagonalApplication.java @@ -8,8 +8,10 @@ import io.wkrzywiec.hexagonal.library.infrastructure.UserDomainConfig; import org.springframework.boot.SpringApplication; import org.springframework.boot.autoconfigure.SpringBootApplication; import org.springframework.context.annotation.Import; +import org.springframework.scheduling.annotation.EnableScheduling; @SpringBootApplication +@EnableScheduling @Import({ LibraryHexagonalConfig.class, InventoryDomainConfig.class, diff --git a/src/main/java/io/wkrzywiec/hexagonal/library/domain/borrowing/application/OverdueReservationScheduler.java b/src/main/java/io/wkrzywiec/hexagonal/library/domain/borrowing/application/OverdueReservationScheduler.java new file mode 100644 index 0000000..40047be --- /dev/null +++ b/src/main/java/io/wkrzywiec/hexagonal/library/domain/borrowing/application/OverdueReservationScheduler.java @@ -0,0 +1,16 @@ +package io.wkrzywiec.hexagonal.library.domain.borrowing.application; + +import io.wkrzywiec.hexagonal.library.domain.borrowing.core.ports.incoming.CancelOverdueReservations; +import lombok.RequiredArgsConstructor; +import org.springframework.scheduling.annotation.Scheduled; + +@RequiredArgsConstructor +public class OverdueReservationScheduler { + + private final CancelOverdueReservations overdueReservations; + + @Scheduled(fixedRate = 10 * 1000) + public void checkOverdueReservations(){ + overdueReservations.cancelOverdueReservations(); + } +}