X-Git-Url: https://juplo.de/gitweb/?a=blobdiff_plain;f=src%2Fmain%2Fjava%2Fde%2Fjuplo%2Fkafka%2Fwordcount%2Fquery%2FQueryController.java;h=a9b5b80a6be7c1b55cdfa576d1d03d7cfe6e8343;hb=213321a01c3b53f86eb2dd97c3f6241e9cad9045;hp=14006b6661e4f0d01a08a33d26ca20ac49839744;hpb=3bfe34e8bc0539932cf93361fe6f710738b37897;p=demos%2Fkafka%2Fwordcount diff --git a/src/main/java/de/juplo/kafka/wordcount/query/QueryController.java b/src/main/java/de/juplo/kafka/wordcount/query/QueryController.java index 14006b6..a9b5b80 100644 --- a/src/main/java/de/juplo/kafka/wordcount/query/QueryController.java +++ b/src/main/java/de/juplo/kafka/wordcount/query/QueryController.java @@ -1,6 +1,7 @@ package de.juplo.kafka.wordcount.query; import lombok.RequiredArgsConstructor; +import org.apache.kafka.streams.errors.InvalidStateStoreException; import org.springframework.http.HttpStatus; import org.springframework.http.ResponseEntity; import org.springframework.web.bind.annotation.GetMapping; @@ -18,7 +19,7 @@ public class QueryController private final QueryStreamProcessor processor; @GetMapping("{username}") - ResponseEntity queryFor(@PathVariable String username) + ResponseEntity queryFor(@PathVariable String username) { Optional redirect = processor.getRedirect(username); if (redirect.isPresent()) @@ -30,6 +31,13 @@ public class QueryController .build(); } - return ResponseEntity.of(processor.getRanking(username)); + try + { + return ResponseEntity.of(processor.getUserRanking(username)); + } + catch (InvalidStateStoreException e) + { + return ResponseEntity.status(HttpStatus.SERVICE_UNAVAILABLE).build(); + } } }