Skip to content

Commit a333fbf

Browse files
committed
feat: 상태값으로 조회하는 메서드 추가
1 parent 5643063 commit a333fbf

4 files changed

Lines changed: 15 additions & 10 deletions

File tree

apps/commerce-streamer/src/main/java/com/loopers/domain/dlq/DlqMessageRepository.java

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -15,5 +15,5 @@ public interface DlqMessageRepository {
1515

1616
List<DlqMessage> findAll();
1717

18-
long count();
18+
long countByStatus(DlqMessage.DlqStatus status);
1919
}

apps/commerce-streamer/src/main/java/com/loopers/domain/dlq/DlqMessageService.java

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -76,6 +76,6 @@ public void incrementRetryCount(String id) {
7676

7777
@Transactional(readOnly = true)
7878
public long countPendingMessages() {
79-
return dlqMessageRepository.findByStatus(DlqMessage.DlqStatus.PENDING).size();
79+
return dlqMessageRepository.countByStatus(DlqMessage.DlqStatus.PENDING);
8080
}
8181
}
Lines changed: 7 additions & 5 deletions
Original file line numberDiff line numberDiff line change
@@ -1,6 +1,7 @@
11
package com.loopers.infrastructure.dlq;
22

33
import com.loopers.domain.dlq.DlqMessage;
4+
import org.springframework.data.domain.Pageable;
45
import org.springframework.data.jpa.repository.JpaRepository;
56
import org.springframework.data.jpa.repository.Query;
67
import org.springframework.data.repository.query.Param;
@@ -11,9 +12,10 @@ public interface DlqMessageJpaRepository extends JpaRepository<DlqMessage, Strin
1112

1213
List<DlqMessage> findByStatus(DlqMessage.DlqStatus status);
1314

14-
@Query("SELECT d FROM DlqMessage d WHERE d.status = 'PENDING' AND d.retryCount < :maxRetryCount ORDER BY d.createdAt ASC LIMIT :limit")
15-
List<DlqMessage> findPendingMessagesForRetry(
16-
@Param("maxRetryCount") int maxRetryCount,
17-
@Param("limit") int limit
18-
);
15+
@Query("SELECT d FROM DlqMessage d WHERE d.status = :status AND d.retryCount < :maxRetryCount ORDER BY d.createdAt ASC")
16+
List<DlqMessage> findPendingMessagesForRetry(@Param("status") DlqMessage.DlqStatus status,
17+
@Param("maxRetryCount") int maxRetryCount,
18+
Pageable pageable);
19+
20+
long countByStatus(DlqMessage.DlqStatus status);
1921
}

apps/commerce-streamer/src/main/java/com/loopers/infrastructure/dlq/DlqMessageRepositoryImpl.java

Lines changed: 6 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -3,10 +3,13 @@
33
import com.loopers.domain.dlq.DlqMessage;
44
import com.loopers.domain.dlq.DlqMessageRepository;
55
import lombok.RequiredArgsConstructor;
6+
import org.springframework.data.domain.PageRequest;
7+
import org.springframework.stereotype.Repository;
68

79
import java.util.List;
810
import java.util.Optional;
911

12+
@Repository
1013
@RequiredArgsConstructor
1114
public class DlqMessageRepositoryImpl implements DlqMessageRepository {
1215

@@ -29,7 +32,7 @@ public List<DlqMessage> findByStatus(DlqMessage.DlqStatus status) {
2932

3033
@Override
3134
public List<DlqMessage> findPendingMessagesForRetry(int maxRetryCount, int limit) {
32-
return dlqMessageJpaRepository.findPendingMessagesForRetry(maxRetryCount, limit);
35+
return dlqMessageJpaRepository.findPendingMessagesForRetry(DlqMessage.DlqStatus.PENDING, maxRetryCount, PageRequest.of(0, 100));
3336
}
3437

3538
@Override
@@ -38,7 +41,7 @@ public List<DlqMessage> findAll() {
3841
}
3942

4043
@Override
41-
public long count() {
42-
return dlqMessageJpaRepository.count();
44+
public long countByStatus(DlqMessage.DlqStatus status) {
45+
return dlqMessageJpaRepository.countByStatus(status);
4346
}
4447
}

0 commit comments

Comments
 (0)