From 1ad1b473987509afee087823ed33dd0cf16cb4f4 Mon Sep 17 00:00:00 2001 From: Raja Kolli Date: Thu, 11 Apr 2024 19:26:56 +0530 Subject: [PATCH] feat : implement SB best practices (#674) * feat : implement SB best practices * spotless fix * fix : issue with containers * fix issue with starting container --- .gitpod.Dockerfile | 4 +- aws-cloudwatch-project/pom.xml | 175 +++++++++-------- .../web/controllers/CustomerController.java | 2 - .../src/main/resources/application.properties | 3 +- .../awsspring/ApplicationIntegrationTest.java | 5 +- aws-dynamodb-project/pom.xml | 137 ++++++------- .../src/main/resources/application.properties | 1 + aws-kinesis-project/consumer/pom.xml | 145 +++++++------- aws-kinesis-project/producer/pom.xml | 49 ++--- .../src/main/resources/application.properties | 1 + aws-parameterstore-project/pom.xml | 49 ++--- .../awsspring/services/CustomerService.java | 2 - .../web/controllers/CustomerController.java | 2 - .../src/main/resources/application.properties | 1 + aws-s3-project/pom.xml | 49 ++--- .../src/main/resources/application.yml | 3 + aws-secretmanager-project/pom.xml | 157 ++++++++------- .../awsspring/services/CustomerService.java | 2 - .../web/controllers/CustomerController.java | 2 - .../src/main/resources/application.properties | 1 + aws-ses-project/pom.xml | 145 +++++++------- .../src/main/resources/application.properties | 1 + aws-sns-project/pom.xml | 109 ++++++----- .../src/main/resources/application.properties | 1 + aws-sqs-project/pom.xml | 185 +++++++++--------- .../web/controllers/InboundLogController.java | 22 +-- .../src/main/resources/application.yml | 3 + 27 files changed, 648 insertions(+), 608 deletions(-) diff --git a/.gitpod.Dockerfile b/.gitpod.Dockerfile index ff9569cf..2101497a 100644 --- a/.gitpod.Dockerfile +++ b/.gitpod.Dockerfile @@ -3,5 +3,5 @@ FROM gitpod/workspace-full:latest USER gitpod RUN bash -c ". /home/gitpod/.sdkman/bin/sdkman-init.sh \ - && sdk install java 21.0.1-tem \ - && sdk default java 21.0.1-tem" + && sdk install java 21.0.2-tem \ + && sdk default java 21.0.2-tem" diff --git a/aws-cloudwatch-project/pom.xml b/aws-cloudwatch-project/pom.xml index 0b7abd65..80177158 100644 --- a/aws-cloudwatch-project/pom.xml +++ b/aws-cloudwatch-project/pom.xml @@ -37,94 +37,99 @@ ${project.testresult.directory}/integrationTest - - - org.springframework.boot - spring-boot-starter-actuator - - - org.springframework.boot - spring-boot-starter-validation - - - org.springframework.boot - spring-boot-starter-web - - - org.springframework.boot - spring-boot-devtools - runtime - - - org.springframework.boot - spring-boot-configuration-processor - true - - - org.projectlombok - lombok - true - - - io.awspring.cloud - spring-cloud-aws-starter-metrics - - - io.micrometer - micrometer-registry-cloudwatch2 - + + + org.springframework.boot + spring-boot-starter-actuator + + + org.springframework.boot + spring-boot-starter-validation + + + org.springframework.boot + spring-boot-starter-web + + + org.springframework.boot + spring-boot-devtools + runtime + + + org.springframework.boot + spring-boot-configuration-processor + true + + + org.projectlombok + lombok + true + + + io.awspring.cloud + spring-cloud-aws-starter-metrics + + + io.micrometer + micrometer-registry-cloudwatch2 + - - org.springframework.boot - spring-boot-starter-data-jpa - - - com.h2database - h2 - runtime - - - org.postgresql - postgresql - runtime - - - org.liquibase - liquibase-core - - - org.springdoc - springdoc-openapi-starter-webmvc-ui - ${springdoc-openapi.version} - - - net.logstash.logback - logstash-logback-encoder - 7.4 - + + org.springframework.boot + spring-boot-starter-data-jpa + + + com.h2database + h2 + runtime + + + org.postgresql + postgresql + runtime + + + org.liquibase + liquibase-core + + + org.springdoc + springdoc-openapi-starter-webmvc-ui + ${springdoc-openapi.version} + + + net.logstash.logback + logstash-logback-encoder + 7.4 + - - org.springframework.boot - spring-boot-starter-test - test - - - io.awspring.cloud - spring-cloud-aws-testcontainers - test - - - org.testcontainers - junit-jupiter - test - - - org.testcontainers - postgresql - test - - + + org.springframework.boot + spring-boot-starter-test + test + + + io.awspring.cloud + spring-cloud-aws-testcontainers + test + + + org.junit.jupiter + junit-jupiter + test + + + org.testcontainers + junit-jupiter + test + + + org.testcontainers + postgresql + test + + diff --git a/aws-cloudwatch-project/src/main/java/com/example/awsspring/web/controllers/CustomerController.java b/aws-cloudwatch-project/src/main/java/com/example/awsspring/web/controllers/CustomerController.java index d855f91e..4c29f3b2 100644 --- a/aws-cloudwatch-project/src/main/java/com/example/awsspring/web/controllers/CustomerController.java +++ b/aws-cloudwatch-project/src/main/java/com/example/awsspring/web/controllers/CustomerController.java @@ -4,7 +4,6 @@ import com.example.awsspring.services.CustomerService; import io.micrometer.core.annotation.Timed; import java.util.List; -import org.springframework.beans.factory.annotation.Autowired; import org.springframework.http.HttpStatus; import org.springframework.http.ResponseEntity; import org.springframework.validation.annotation.Validated; @@ -25,7 +24,6 @@ public class CustomerController { private final CustomerService customerService; - @Autowired public CustomerController(CustomerService customerService) { this.customerService = customerService; } diff --git a/aws-cloudwatch-project/src/main/resources/application.properties b/aws-cloudwatch-project/src/main/resources/application.properties index c2053875..404a9956 100644 --- a/aws-cloudwatch-project/src/main/resources/application.properties +++ b/aws-cloudwatch-project/src/main/resources/application.properties @@ -49,4 +49,5 @@ spring.cloud.aws.credentials.access-key=noop spring.cloud.aws.credentials.secret-key=noop spring.cloud.aws.region.static=us-east-1 -spring.mvc.problemdetails.enabled=true \ No newline at end of file +spring.mvc.problemdetails.enabled=true +spring.threads.virtual.enabled=true \ No newline at end of file diff --git a/aws-cloudwatch-project/src/test/java/com/example/awsspring/ApplicationIntegrationTest.java b/aws-cloudwatch-project/src/test/java/com/example/awsspring/ApplicationIntegrationTest.java index e7a41a35..9ec000cf 100644 --- a/aws-cloudwatch-project/src/test/java/com/example/awsspring/ApplicationIntegrationTest.java +++ b/aws-cloudwatch-project/src/test/java/com/example/awsspring/ApplicationIntegrationTest.java @@ -77,9 +77,10 @@ void contextLoads() throws Exception { .build()) .get(); assertThat(response.metricDataResults()).hasSize(1); - assertThat(response.metricDataResults().get(0).label()) + assertThat(response.metricDataResults().getFirst().label()) .isEqualTo("http.server.requests.count"); - assertThat(response.metricDataResults().get(0).values()).contains(5d); + assertThat(response.metricDataResults().getFirst().values()) + .contains(5d); }); } } diff --git a/aws-dynamodb-project/pom.xml b/aws-dynamodb-project/pom.xml index ad92cd0d..7c4f1cd7 100644 --- a/aws-dynamodb-project/pom.xml +++ b/aws-dynamodb-project/pom.xml @@ -37,74 +37,79 @@ ${project.testresult.directory}/integrationTest - - - org.springframework.boot - spring-boot-starter-actuator - - - org.springframework.boot - spring-boot-starter-validation - - - org.springframework.boot - spring-boot-starter-web - - - org.springframework.boot - spring-boot-starter-aop - + + + org.springframework.boot + spring-boot-starter-actuator + + + org.springframework.boot + spring-boot-starter-validation + + + org.springframework.boot + spring-boot-starter-web + + + org.springframework.boot + spring-boot-starter-aop + - - net.logstash.logback - logstash-logback-encoder - 7.4 - + + net.logstash.logback + logstash-logback-encoder + 7.4 + - - org.springframework.boot - spring-boot-configuration-processor - true - - - org.projectlombok - lombok - true - - - io.awspring.cloud - spring-cloud-aws-starter-dynamodb - - - org.springdoc - springdoc-openapi-starter-webmvc-ui - ${springdoc-openapi.version} - - - org.apache.commons - commons-lang3 - - - io.micrometer - micrometer-registry-prometheus - runtime - - - org.springframework.boot - spring-boot-starter-test - test - - - io.awspring.cloud - spring-cloud-aws-testcontainers - test - - - org.testcontainers - junit-jupiter - test - - + + org.springframework.boot + spring-boot-configuration-processor + true + + + org.projectlombok + lombok + true + + + io.awspring.cloud + spring-cloud-aws-starter-dynamodb + + + org.springdoc + springdoc-openapi-starter-webmvc-ui + ${springdoc-openapi.version} + + + org.apache.commons + commons-lang3 + + + io.micrometer + micrometer-registry-prometheus + runtime + + + org.springframework.boot + spring-boot-starter-test + test + + + io.awspring.cloud + spring-cloud-aws-testcontainers + test + + + org.junit.jupiter + junit-jupiter + test + + + org.testcontainers + junit-jupiter + test + + diff --git a/aws-dynamodb-project/src/main/resources/application.properties b/aws-dynamodb-project/src/main/resources/application.properties index ca467d85..222ac50a 100644 --- a/aws-dynamodb-project/src/main/resources/application.properties +++ b/aws-dynamodb-project/src/main/resources/application.properties @@ -4,6 +4,7 @@ server.shutdown=graceful spring.main.allow-bean-definition-overriding=true spring.jmx.enabled=false spring.mvc.problemdetails.enabled=true +spring.threads.virtual.enabled=true ################ Logging ##################### logging.file.name=logs/aws-dynamodb-project.log diff --git a/aws-kinesis-project/consumer/pom.xml b/aws-kinesis-project/consumer/pom.xml index b5f60431..ac11cae5 100644 --- a/aws-kinesis-project/consumer/pom.xml +++ b/aws-kinesis-project/consumer/pom.xml @@ -37,79 +37,84 @@ ${project.testresult.directory}/integrationTest - - - org.springframework.boot - spring-boot-starter-actuator - - - org.springframework.boot - spring-boot-starter-webflux - - - org.springframework.boot - spring-boot-starter-aop - - - org.springframework.boot - spring-boot-devtools - runtime - - - org.springframework.boot - spring-boot-configuration-processor - true - - - org.springframework.cloud - spring-cloud-stream-binder-kinesis - 4.0.3 - - - org.springframework.boot - spring-boot-starter-data-r2dbc - - - org.postgresql - postgresql - runtime - - - org.postgresql - r2dbc-postgresql - runtime - - - org.liquibase - liquibase-core - - - org.springframework - spring-jdbc - + + + org.springframework.boot + spring-boot-starter-actuator + + + org.springframework.boot + spring-boot-starter-webflux + + + org.springframework.boot + spring-boot-starter-aop + + + org.springframework.boot + spring-boot-devtools + runtime + + + org.springframework.boot + spring-boot-configuration-processor + true + + + org.springframework.cloud + spring-cloud-stream-binder-kinesis + 4.0.3 + + + org.springframework.boot + spring-boot-starter-data-r2dbc + + + org.postgresql + postgresql + runtime + + + org.postgresql + r2dbc-postgresql + runtime + + + org.liquibase + liquibase-core + + + org.springframework + spring-jdbc + - - org.springdoc - springdoc-openapi-starter-webflux-ui - ${springdoc-openapi.version} - + + org.springdoc + springdoc-openapi-starter-webflux-ui + ${springdoc-openapi.version} + - - org.springframework.boot - spring-boot-starter-test - test - - - org.springframework.boot - spring-boot-testcontainers - test - - - io.projectreactor - reactor-test - test - + + org.springframework.boot + spring-boot-starter-test + test + + + org.springframework.boot + spring-boot-testcontainers + test + + + io.projectreactor + reactor-test + test + + + org.junit.jupiter + junit-jupiter + test + org.testcontainers junit-jupiter diff --git a/aws-kinesis-project/producer/pom.xml b/aws-kinesis-project/producer/pom.xml index 5b663755..bd3455a2 100644 --- a/aws-kinesis-project/producer/pom.xml +++ b/aws-kinesis-project/producer/pom.xml @@ -37,24 +37,29 @@ ${project.testresult.directory}/integrationTest - - - org.springframework.boot - spring-boot-starter-actuator - - - org.springframework.boot - spring-boot-starter-web - - - org.springframework.boot - spring-boot-starter-aop - - - org.springframework.boot - spring-boot-devtools - runtime - + + + org.springframework.boot + spring-boot-starter-actuator + + + org.springframework.boot + spring-boot-starter-web + + + org.springframework.boot + spring-boot-starter-aop + + + org.springframework.boot + spring-boot-devtools + runtime + + + org.junit.jupiter + junit-jupiter + test + org.springframework.boot spring-boot-configuration-processor @@ -87,10 +92,10 @@ spring-boot-starter-test test - - org.springframework.boot - spring-boot-testcontainers - test + + org.springframework.boot + spring-boot-testcontainers + test org.testcontainers diff --git a/aws-kinesis-project/producer/src/main/resources/application.properties b/aws-kinesis-project/producer/src/main/resources/application.properties index dc89571f..70255a11 100644 --- a/aws-kinesis-project/producer/src/main/resources/application.properties +++ b/aws-kinesis-project/producer/src/main/resources/application.properties @@ -13,6 +13,7 @@ management.endpoints.web.exposure.include=configprops,env,health,info,logfile,lo management.endpoint.health.show-details=always spring.mvc.problemdetails.enabled=true +spring.threads.virtual.enabled=true #Producer spring.cloud.function.definition=producerSupplier diff --git a/aws-parameterstore-project/pom.xml b/aws-parameterstore-project/pom.xml index 4891599f..f5854d42 100644 --- a/aws-parameterstore-project/pom.xml +++ b/aws-parameterstore-project/pom.xml @@ -37,24 +37,29 @@ ${project.testresult.directory}/integrationTest - - - org.springframework.boot - spring-boot-starter-actuator - - - org.springframework.boot - spring-boot-starter-validation - - - org.springframework.boot - spring-boot-starter-web - - - org.springframework.boot - spring-boot-devtools - runtime - + + + org.springframework.boot + spring-boot-starter-actuator + + + org.springframework.boot + spring-boot-starter-validation + + + org.springframework.boot + spring-boot-starter-web + + + org.springframework.boot + spring-boot-devtools + runtime + + + org.junit.jupiter + junit-jupiter + test + org.springframework.boot spring-boot-configuration-processor @@ -98,10 +103,10 @@ spring-boot-starter-test test - - org.springframework.boot - spring-boot-testcontainers - test + + org.springframework.boot + spring-boot-testcontainers + test org.testcontainers diff --git a/aws-parameterstore-project/src/main/java/com/example/awsspring/services/CustomerService.java b/aws-parameterstore-project/src/main/java/com/example/awsspring/services/CustomerService.java index 0888b447..5934b23d 100644 --- a/aws-parameterstore-project/src/main/java/com/example/awsspring/services/CustomerService.java +++ b/aws-parameterstore-project/src/main/java/com/example/awsspring/services/CustomerService.java @@ -4,7 +4,6 @@ import com.example.awsspring.repositories.CustomerRepository; import java.util.List; import java.util.Optional; -import org.springframework.beans.factory.annotation.Autowired; import org.springframework.stereotype.Service; import org.springframework.transaction.annotation.Transactional; @@ -14,7 +13,6 @@ public class CustomerService { private final CustomerRepository customerRepository; - @Autowired public CustomerService(CustomerRepository customerRepository) { this.customerRepository = customerRepository; } diff --git a/aws-parameterstore-project/src/main/java/com/example/awsspring/web/controllers/CustomerController.java b/aws-parameterstore-project/src/main/java/com/example/awsspring/web/controllers/CustomerController.java index e2e1d979..934733de 100644 --- a/aws-parameterstore-project/src/main/java/com/example/awsspring/web/controllers/CustomerController.java +++ b/aws-parameterstore-project/src/main/java/com/example/awsspring/web/controllers/CustomerController.java @@ -4,7 +4,6 @@ import com.example.awsspring.services.CustomerService; import java.util.List; import lombok.extern.slf4j.Slf4j; -import org.springframework.beans.factory.annotation.Autowired; import org.springframework.http.HttpStatus; import org.springframework.http.ResponseEntity; import org.springframework.validation.annotation.Validated; @@ -25,7 +24,6 @@ public class CustomerController { private final CustomerService customerService; - @Autowired public CustomerController(CustomerService customerService) { this.customerService = customerService; } diff --git a/aws-parameterstore-project/src/main/resources/application.properties b/aws-parameterstore-project/src/main/resources/application.properties index 579ec8e6..7aefc88b 100644 --- a/aws-parameterstore-project/src/main/resources/application.properties +++ b/aws-parameterstore-project/src/main/resources/application.properties @@ -40,3 +40,4 @@ spring.jpa.properties.hibernate.jdbc.lob.non_contextual_creation=true spring.liquibase.change-log=classpath:/db/migration/liquibase-changelog.xml spring.mvc.problemdetails.enabled=true +spring.threads.virtual.enabled=true diff --git a/aws-s3-project/pom.xml b/aws-s3-project/pom.xml index 461ef978..b72e31e3 100644 --- a/aws-s3-project/pom.xml +++ b/aws-s3-project/pom.xml @@ -40,24 +40,29 @@ ${project.testresult.directory}/integrationTest - - - org.springframework.boot - spring-boot-starter-actuator - - - org.springframework.boot - spring-boot-starter-validation - - - org.springframework.boot - spring-boot-starter-web - - - org.springframework.boot - spring-boot-devtools - runtime - + + + org.springframework.boot + spring-boot-starter-actuator + + + org.springframework.boot + spring-boot-starter-validation + + + org.springframework.boot + spring-boot-starter-web + + + org.springframework.boot + spring-boot-devtools + runtime + + + org.junit.jupiter + junit-jupiter + test + org.springframework.boot spring-boot-configuration-processor @@ -116,10 +121,10 @@ spring-boot-starter-test test - - org.springframework.boot - spring-boot-testcontainers - test + + org.springframework.boot + spring-boot-testcontainers + test org.testcontainers diff --git a/aws-s3-project/src/main/resources/application.yml b/aws-s3-project/src/main/resources/application.yml index 7268b54f..c20adab1 100644 --- a/aws-s3-project/src/main/resources/application.yml +++ b/aws-s3-project/src/main/resources/application.yml @@ -44,6 +44,9 @@ spring: multipart: max-file-size: 100MB max-request-size: 100MB + threads: + virtual: + enabled: true management: endpoints.web.exposure.include: configprops,env,health,info,logfile,loggers,metrics,prometheus,sbom diff --git a/aws-secretmanager-project/pom.xml b/aws-secretmanager-project/pom.xml index de5f91eb..8ce339cf 100644 --- a/aws-secretmanager-project/pom.xml +++ b/aws-secretmanager-project/pom.xml @@ -37,83 +37,88 @@ ${project.testresult.directory}/integrationTest - - - org.springframework.boot - spring-boot-starter-actuator - - - org.springframework.boot - spring-boot-starter-validation - - - org.springframework.boot - spring-boot-starter-web - - - org.springframework.boot - spring-boot-devtools - runtime - - - org.springframework.boot - spring-boot-configuration-processor - true - - - org.projectlombok - lombok - true - - - org.springframework.boot - spring-boot-starter-data-jpa - - - com.h2database - h2 - runtime - - - org.postgresql - postgresql - runtime - - - org.liquibase - liquibase-core - - - org.springdoc - springdoc-openapi-starter-webmvc-ui - ${springdoc-openapi.version} - - - io.awspring.cloud - spring-cloud-aws-starter-secrets-manager - + + + org.springframework.boot + spring-boot-starter-actuator + + + org.springframework.boot + spring-boot-starter-validation + + + org.springframework.boot + spring-boot-starter-web + + + org.springframework.boot + spring-boot-devtools + runtime + + + org.springframework.boot + spring-boot-configuration-processor + true + + + org.projectlombok + lombok + true + + + org.springframework.boot + spring-boot-starter-data-jpa + + + com.h2database + h2 + runtime + + + org.postgresql + postgresql + runtime + + + org.liquibase + liquibase-core + + + org.springdoc + springdoc-openapi-starter-webmvc-ui + ${springdoc-openapi.version} + + + io.awspring.cloud + spring-cloud-aws-starter-secrets-manager + - - org.springframework.boot - spring-boot-starter-test - test - - - io.awspring.cloud - spring-cloud-aws-testcontainers - test - - - org.testcontainers - junit-jupiter - test - - - org.testcontainers - postgresql - test - - + + org.springframework.boot + spring-boot-starter-test + test + + + io.awspring.cloud + spring-cloud-aws-testcontainers + test + + + org.junit.jupiter + junit-jupiter + test + + + org.testcontainers + junit-jupiter + test + + + org.testcontainers + postgresql + test + + diff --git a/aws-secretmanager-project/src/main/java/com/example/awsspring/services/CustomerService.java b/aws-secretmanager-project/src/main/java/com/example/awsspring/services/CustomerService.java index 0888b447..5934b23d 100644 --- a/aws-secretmanager-project/src/main/java/com/example/awsspring/services/CustomerService.java +++ b/aws-secretmanager-project/src/main/java/com/example/awsspring/services/CustomerService.java @@ -4,7 +4,6 @@ import com.example.awsspring.repositories.CustomerRepository; import java.util.List; import java.util.Optional; -import org.springframework.beans.factory.annotation.Autowired; import org.springframework.stereotype.Service; import org.springframework.transaction.annotation.Transactional; @@ -14,7 +13,6 @@ public class CustomerService { private final CustomerRepository customerRepository; - @Autowired public CustomerService(CustomerRepository customerRepository) { this.customerRepository = customerRepository; } diff --git a/aws-secretmanager-project/src/main/java/com/example/awsspring/web/controllers/CustomerController.java b/aws-secretmanager-project/src/main/java/com/example/awsspring/web/controllers/CustomerController.java index e2e1d979..934733de 100644 --- a/aws-secretmanager-project/src/main/java/com/example/awsspring/web/controllers/CustomerController.java +++ b/aws-secretmanager-project/src/main/java/com/example/awsspring/web/controllers/CustomerController.java @@ -4,7 +4,6 @@ import com.example.awsspring.services.CustomerService; import java.util.List; import lombok.extern.slf4j.Slf4j; -import org.springframework.beans.factory.annotation.Autowired; import org.springframework.http.HttpStatus; import org.springframework.http.ResponseEntity; import org.springframework.validation.annotation.Validated; @@ -25,7 +24,6 @@ public class CustomerController { private final CustomerService customerService; - @Autowired public CustomerController(CustomerService customerService) { this.customerService = customerService; } diff --git a/aws-secretmanager-project/src/main/resources/application.properties b/aws-secretmanager-project/src/main/resources/application.properties index 190b10d2..df08a85c 100644 --- a/aws-secretmanager-project/src/main/resources/application.properties +++ b/aws-secretmanager-project/src/main/resources/application.properties @@ -40,3 +40,4 @@ spring.jpa.properties.hibernate.jdbc.lob.non_contextual_creation=true spring.flyway.locations=classpath:/db/migration/{vendor} spring.mvc.problemdetails.enabled=true +spring.threads.virtual.enabled=true diff --git a/aws-ses-project/pom.xml b/aws-ses-project/pom.xml index 8bbeb55e..adf11636 100644 --- a/aws-ses-project/pom.xml +++ b/aws-ses-project/pom.xml @@ -37,77 +37,82 @@ ${project.testresult.directory}/integrationTest - - - org.springframework.boot - spring-boot-starter-actuator - - - org.springframework.boot - spring-boot-starter-validation - - - org.springframework.boot - spring-boot-starter-web - - - org.glassfish.jaxb - jaxb-runtime - provided - - - org.springframework.boot - spring-boot-starter-aop - - - org.springframework.boot - spring-boot-starter-mail - - - org.springframework.boot - spring-boot-devtools - runtime - - - org.springframework.boot - spring-boot-configuration-processor - true - - - org.projectlombok - lombok - true - - - io.awspring.cloud - spring-cloud-aws-starter-ses - - - org.springdoc - springdoc-openapi-starter-webmvc-ui - ${springdoc-openapi.version} - - - org.apache.commons - commons-lang3 - + + + org.springframework.boot + spring-boot-starter-actuator + + + org.springframework.boot + spring-boot-starter-validation + + + org.springframework.boot + spring-boot-starter-web + + + org.glassfish.jaxb + jaxb-runtime + provided + + + org.springframework.boot + spring-boot-starter-aop + + + org.springframework.boot + spring-boot-starter-mail + + + org.springframework.boot + spring-boot-devtools + runtime + + + org.springframework.boot + spring-boot-configuration-processor + true + + + org.projectlombok + lombok + true + + + io.awspring.cloud + spring-cloud-aws-starter-ses + + + org.springdoc + springdoc-openapi-starter-webmvc-ui + ${springdoc-openapi.version} + + + org.apache.commons + commons-lang3 + - - org.springframework.boot - spring-boot-starter-test - test - - - io.awspring.cloud - spring-cloud-aws-testcontainers - test - - - org.testcontainers - junit-jupiter - test - - + + org.springframework.boot + spring-boot-starter-test + test + + + io.awspring.cloud + spring-cloud-aws-testcontainers + test + + + org.junit.jupiter + junit-jupiter + test + + + org.testcontainers + junit-jupiter + test + + diff --git a/aws-ses-project/src/main/resources/application.properties b/aws-ses-project/src/main/resources/application.properties index e657bc74..291cb862 100644 --- a/aws-ses-project/src/main/resources/application.properties +++ b/aws-ses-project/src/main/resources/application.properties @@ -19,3 +19,4 @@ management.endpoint.health.show-details=always spring.cloud.aws.ses.enabled=true spring.mvc.problemdetails.enabled=true +spring.threads.virtual.enabled=true diff --git a/aws-sns-project/pom.xml b/aws-sns-project/pom.xml index 7f4a74d1..58fd9afe 100644 --- a/aws-sns-project/pom.xml +++ b/aws-sns-project/pom.xml @@ -39,61 +39,66 @@ ${project.testresult.directory}/integrationTest - - - org.springframework.boot - spring-boot-starter-actuator - - - org.springframework.boot - spring-boot-starter-web - + + + org.springframework.boot + spring-boot-starter-actuator + + + org.springframework.boot + spring-boot-starter-web + - - org.springframework.boot - spring-boot-configuration-processor - true - - - org.projectlombok - lombok - true - - - io.awspring.cloud - spring-cloud-aws-starter - - - io.awspring.cloud - spring-cloud-aws-starter-sns - - - io.awspring.cloud - spring-cloud-aws-starter-sqs - + + org.springframework.boot + spring-boot-configuration-processor + true + + + org.projectlombok + lombok + true + + + io.awspring.cloud + spring-cloud-aws-starter + + + io.awspring.cloud + spring-cloud-aws-starter-sns + + + io.awspring.cloud + spring-cloud-aws-starter-sqs + - - org.springdoc - springdoc-openapi-starter-webmvc-ui - ${springdoc-openapi.version} - + + org.springdoc + springdoc-openapi-starter-webmvc-ui + ${springdoc-openapi.version} + - - org.springframework.boot - spring-boot-starter-test - test - - - io.awspring.cloud - spring-cloud-aws-testcontainers - test - - - org.testcontainers - junit-jupiter - test - - + + org.springframework.boot + spring-boot-starter-test + test + + + io.awspring.cloud + spring-cloud-aws-testcontainers + test + + + org.junit.jupiter + junit-jupiter + test + + + org.testcontainers + junit-jupiter + test + + diff --git a/aws-sns-project/src/main/resources/application.properties b/aws-sns-project/src/main/resources/application.properties index 20fb01fb..eb8b675b 100644 --- a/aws-sns-project/src/main/resources/application.properties +++ b/aws-sns-project/src/main/resources/application.properties @@ -4,6 +4,7 @@ server.shutdown=graceful spring.main.allow-bean-definition-overriding=true spring.jmx.enabled=false spring.mvc.problemdetails.enabled=true +spring.threads.virtual.enabled=true ################ Actuator ##################### management.endpoints.web.exposure.include=configprops,env,health,info,logfile,loggers,metrics,prometheus diff --git a/aws-sqs-project/pom.xml b/aws-sqs-project/pom.xml index 1be20ac5..08be7255 100644 --- a/aws-sqs-project/pom.xml +++ b/aws-sqs-project/pom.xml @@ -41,97 +41,102 @@ ${project.testresult.directory}/integrationTest - - - org.springframework.boot - spring-boot-starter-actuator - - - org.springframework.boot - spring-boot-starter-validation - - - org.springframework.boot - spring-boot-starter-web - - - org.springframework.boot - spring-boot-configuration-processor - true - - - org.projectlombok - lombok - true - - - org.mapstruct - mapstruct - ${org.mapstruct.version} - - - io.awspring.cloud - spring-cloud-aws-starter-sqs - - - org.springframework.boot - spring-boot-starter-data-jpa - - - com.h2database - h2 - runtime - - - org.postgresql - postgresql - runtime - - - org.liquibase - liquibase-core - - - org.springdoc - springdoc-openapi-starter-webmvc-ui - ${springdoc-openapi.version} - - - org.apache.commons - commons-lang3 - - - commons-io - commons-io - ${commons-io.version} - - - io.hypersistence - hypersistence-utils-hibernate-63 - 3.7.3 - + + + org.springframework.boot + spring-boot-starter-actuator + + + org.springframework.boot + spring-boot-starter-validation + + + org.springframework.boot + spring-boot-starter-web + + + org.springframework.boot + spring-boot-configuration-processor + true + + + org.projectlombok + lombok + true + + + org.mapstruct + mapstruct + ${org.mapstruct.version} + + + io.awspring.cloud + spring-cloud-aws-starter-sqs + + + org.springframework.boot + spring-boot-starter-data-jpa + + + com.h2database + h2 + runtime + + + org.postgresql + postgresql + runtime + + + org.liquibase + liquibase-core + + + org.springdoc + springdoc-openapi-starter-webmvc-ui + ${springdoc-openapi.version} + + + org.apache.commons + commons-lang3 + + + commons-io + commons-io + ${commons-io.version} + + + io.hypersistence + hypersistence-utils-hibernate-63 + 3.7.3 + - - org.springframework.boot - spring-boot-starter-test - test - - - io.awspring.cloud - spring-cloud-aws-testcontainers - test - - - org.testcontainers - junit-jupiter - test - - - org.testcontainers - postgresql - test - - + + org.springframework.boot + spring-boot-starter-test + test + + + io.awspring.cloud + spring-cloud-aws-testcontainers + test + + + org.junit.jupiter + junit-jupiter + test + + + org.testcontainers + junit-jupiter + test + + + org.testcontainers + postgresql + test + + diff --git a/aws-sqs-project/src/main/java/com/learning/awspring/web/controllers/InboundLogController.java b/aws-sqs-project/src/main/java/com/learning/awspring/web/controllers/InboundLogController.java index ebc54c02..3f3a7be3 100644 --- a/aws-sqs-project/src/main/java/com/learning/awspring/web/controllers/InboundLogController.java +++ b/aws-sqs-project/src/main/java/com/learning/awspring/web/controllers/InboundLogController.java @@ -5,7 +5,6 @@ import com.learning.awspring.services.InboundLogService; import com.learning.awspring.utils.AppConstants; import lombok.extern.slf4j.Slf4j; -import org.springframework.beans.factory.annotation.Autowired; import org.springframework.http.HttpStatus; import org.springframework.http.ResponseEntity; import org.springframework.validation.annotation.Validated; @@ -27,32 +26,19 @@ public class InboundLogController { private final InboundLogService inboundLogService; - @Autowired public InboundLogController(InboundLogService inboundLogService) { this.inboundLogService = inboundLogService; } @GetMapping public PagedResult getAllInboundLogs( - @RequestParam( - value = "pageNo", - defaultValue = AppConstants.DEFAULT_PAGE_NUMBER, - required = false) + @RequestParam(defaultValue = AppConstants.DEFAULT_PAGE_NUMBER, required = false) int pageNo, - @RequestParam( - value = "pageSize", - defaultValue = AppConstants.DEFAULT_PAGE_SIZE, - required = false) + @RequestParam(defaultValue = AppConstants.DEFAULT_PAGE_SIZE, required = false) int pageSize, - @RequestParam( - value = "sortBy", - defaultValue = AppConstants.DEFAULT_SORT_BY, - required = false) + @RequestParam(defaultValue = AppConstants.DEFAULT_SORT_BY, required = false) String sortBy, - @RequestParam( - value = "sortDir", - defaultValue = AppConstants.DEFAULT_SORT_DIRECTION, - required = false) + @RequestParam(defaultValue = AppConstants.DEFAULT_SORT_DIRECTION, required = false) String sortDir) { return inboundLogService.findAllInboundLogs(pageNo, pageSize, sortBy, sortDir); } diff --git a/aws-sqs-project/src/main/resources/application.yml b/aws-sqs-project/src/main/resources/application.yml index 06df39c3..6c79780e 100644 --- a/aws-sqs-project/src/main/resources/application.yml +++ b/aws-sqs-project/src/main/resources/application.yml @@ -55,3 +55,6 @@ spring: mvc: problemdetails: enabled: true + threads: + virtual: + enabled: true