From 0323b2cbf818e2d88831ede13e40648122e6584f Mon Sep 17 00:00:00 2001 From: Ramiro Berrelleza Date: Mon, 16 Sep 2024 15:19:36 -0700 Subject: [PATCH] Update SDKS to more modern version (#116) * update API and Worker to go 1.22 * Update catalog and frontend to node 20 * upgrade to java 22, maven 3.8, and springbooot 3.x * remove unused imports on restcontroller --- .oktetoignore | 3 +++ api/go.mod | 2 +- catalog/Dockerfile | 2 +- frontend/Dockerfile | 2 +- rent/Dockerfile | 16 +++++++++-- rent/pom.xml | 6 ++--- .../rent/controller/RentController.java | 27 ++++++------------- worker/go.mod | 2 +- 8 files changed, 32 insertions(+), 28 deletions(-) create mode 100644 .oktetoignore diff --git a/.oktetoignore b/.oktetoignore new file mode 100644 index 00000000..0e14270b --- /dev/null +++ b/.oktetoignore @@ -0,0 +1,3 @@ +.git +.github +.vscode \ No newline at end of file diff --git a/api/go.mod b/api/go.mod index 504bc24e..d4865554 100644 --- a/api/go.mod +++ b/api/go.mod @@ -1,6 +1,6 @@ module github.com/okteto/movies -go 1.17 +go 1.22 require github.com/lib/pq v1.10.5 diff --git a/catalog/Dockerfile b/catalog/Dockerfile index d38ba43d..17cc8886 100644 --- a/catalog/Dockerfile +++ b/catalog/Dockerfile @@ -1,4 +1,4 @@ -FROM node:16 +FROM node:20 WORKDIR /src diff --git a/frontend/Dockerfile b/frontend/Dockerfile index 788a12c0..e5d443e3 100644 --- a/frontend/Dockerfile +++ b/frontend/Dockerfile @@ -1,4 +1,4 @@ -FROM node:16 AS dev +FROM node:20 AS dev # setup okteto message COPY bashrc /root/.bashrc diff --git a/rent/Dockerfile b/rent/Dockerfile index 9c46b037..a04e2828 100644 --- a/rent/Dockerfile +++ b/rent/Dockerfile @@ -1,8 +1,20 @@ -FROM maven:3.8.1-jdk-11 +FROM maven:3.9.8-eclipse-temurin-21 WORKDIR /app -COPY . . + +# copy the project files +COPY ./pom.xml ./pom.xml + + +# build all dependencies for offline use +RUN mvn dependency:go-offline -B + +# copy the src files +COPY ./src ./src + +# build for release RUN mvn clean package + RUN cp ./target/*.jar app.jar EXPOSE 8080 diff --git a/rent/pom.xml b/rent/pom.xml index 5ebb8f6e..ae63298f 100644 --- a/rent/pom.xml +++ b/rent/pom.xml @@ -5,7 +5,7 @@ org.springframework.boot spring-boot-starter-parent - 2.5.6 + 3.3.2 com.okteto @@ -14,7 +14,7 @@ rent Rent backend service for Movies App - 11 + 21 @@ -48,7 +48,7 @@ ognl ognl - 3.2.21 + 3.4.3 org.springframework.boot diff --git a/rent/src/main/java/com/okteto/rent/controller/RentController.java b/rent/src/main/java/com/okteto/rent/controller/RentController.java index a8959b34..fcbe8a9e 100644 --- a/rent/src/main/java/com/okteto/rent/controller/RentController.java +++ b/rent/src/main/java/com/okteto/rent/controller/RentController.java @@ -6,14 +6,11 @@ import org.springframework.beans.factory.annotation.Autowired; import org.springframework.kafka.core.KafkaTemplate; import org.springframework.kafka.support.SendResult; -import org.springframework.util.concurrent.ListenableFuture; -import org.springframework.util.concurrent.ListenableFutureCallback; import org.springframework.web.bind.annotation.PostMapping; import org.springframework.web.bind.annotation.GetMapping; import org.springframework.web.bind.annotation.RequestBody; import org.springframework.web.bind.annotation.RestController; -import javax.servlet.http.HttpServletResponse; import java.util.LinkedList; import java.util.List; import java.util.Map; @@ -34,29 +31,21 @@ Map healthz() { } @PostMapping(path= "/rent", consumes = "application/json", produces = "application/json") - List rent(@RequestBody Rent rentInput, HttpServletResponse response) { + List rent(@RequestBody Rent rentInput) { String catalogID = rentInput.getMovieID(); String price = rentInput.getPrice(); logger.info("Rent [{},{}] received", catalogID, price); - ListenableFuture> future = kafkaTemplate.send(KAFKA_TOPIC, catalogID, price); - - future.addCallback(new ListenableFutureCallback>() { - @Override - public void onSuccess(SendResult result) { - logger.info("Message [{}] delivered with offset {}", - catalogID, - result.getRecordMetadata().offset()); - } - - @Override - public void onFailure(Throwable ex) { - logger.warn("Unable to deliver message [{}]. {}", + kafkaTemplate.send(KAFKA_TOPIC, catalogID, price) + .thenAccept(result -> logger.info("Message [{}] delivered with offset {}", catalogID, - ex.getMessage()); - } + result.getRecordMetadata().offset())) + .exceptionally(ex -> { + logger.warn("Unable to deliver message [{}]. {}", catalogID, ex.getMessage()); + return null; }); + return new LinkedList<>(); } diff --git a/worker/go.mod b/worker/go.mod index a072cf8f..edbbf495 100644 --- a/worker/go.mod +++ b/worker/go.mod @@ -1,6 +1,6 @@ module github.com/okteto/movies -go 1.17 +go 1.22 require ( github.com/Shopify/sarama v1.32.0