Skip to content
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension


Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
4 changes: 2 additions & 2 deletions .github/boring-cyborg.yml
Original file line number Diff line number Diff line change
Expand Up @@ -10,7 +10,7 @@
### Non-covered dirs....
### - extensions
### - extensions/agroal
### - extensions/amazon-dynamodb
### - extensions/amazon-services
### - extensions/azure-functions-http
### - extensions/caffeine
### - extensions/flyway
Expand All @@ -27,7 +27,7 @@
### - integration-tests
### - integration-tests/.project
### - integration-tests/.settings
### - integration-tests/amazon-dynamodb
### - integration-tests/amazon-services
### - integration-tests/class-transformer
### - integration-tests/flyway
### - integration-tests/jackson
Expand Down
36 changes: 22 additions & 14 deletions .github/workflows/ci-actions.yml
Original file line number Diff line number Diff line change
Expand Up @@ -34,8 +34,8 @@ on:
env:
# Workaround testsuite locale issue
LANG: en_US.UTF-8
NATIVE_TEST_MAVEN_OPTS: "-B --settings .github/mvn-settings.xml --fail-at-end -Dquarkus.native.container-build=true -Dquarkus.native.builder-image=quay.io/quarkus/ubi-quarkus-native-image:19.3.1-java11 -Dtest-postgresql -Dtest-elasticsearch -Dtest-keycloak -Dtest-dynamodb -Dtest-mysql -Dtest-mariadb -Dmariadb.url='jdbc:mariadb://localhost:3308/hibernate_orm_test' -Dtest-mssql -Dtest-vault -Dtest-neo4j -Dtest-kafka -Dnative-image.xmx=5g -Dnative -Dformat.skip install"
JVM_TEST_MAVEN_OPTS: "-e -B --settings .github/mvn-settings.xml -Dtest-postgresql -Dtest-elasticsearch -Dtest-mysql -Dtest-mariadb -Dmariadb.url='jdbc:mariadb://localhost:3308/hibernate_orm_test' -Dtest-mssql -Dtest-dynamodb -Dtest-vault -Dtest-neo4j -Dtest-kafka -Dtest-keycloak -Dformat.skip"
NATIVE_TEST_MAVEN_OPTS: "-B --settings .github/mvn-settings.xml --fail-at-end -Dquarkus.native.container-build=true -Dquarkus.native.builder-image=quay.io/quarkus/ubi-quarkus-native-image:19.3.1-java11 -Dtest-postgresql -Dtest-elasticsearch -Dtest-keycloak -Dtest-amazon-services -Dtest-mysql -Dtest-mariadb -Dmariadb.url='jdbc:mariadb://localhost:3308/hibernate_orm_test' -Dtest-mssql -Dtest-vault -Dtest-neo4j -Dtest-kafka -Dnative-image.xmx=5g -Dnative -Dformat.skip install"
JVM_TEST_MAVEN_OPTS: "-e -B --settings .github/mvn-settings.xml -Dtest-postgresql -Dtest-elasticsearch -Dtest-mysql -Dtest-mariadb -Dmariadb.url='jdbc:mariadb://localhost:3308/hibernate_orm_test' -Dtest-mssql -Dtest-amazon-services -Dtest-vault -Dtest-neo4j -Dtest-kafka -Dtest-keycloak -Dformat.skip"
DB_USER: hibernate_orm_test
DB_PASSWORD: hibernate_orm_test
DB_NAME: hibernate_orm_test
Expand Down Expand Up @@ -162,10 +162,14 @@ jobs:
NEO4J_dbms_memory_heap_initial__size: 10M
ports:
- 127.0.0.1:7687:7687
dynamodb:
image: amazon/dynamodb-local:1.11.477
amazonServices:
image: localstack/localstack
env:
SERVICES: s3,dynamodb
START_WEB: 0
ports:
- 127.0.0.1:8000:8000
- 127.0.0.1:8000:4569
- 127.0.0.1:8008:4572

steps:
- name: Start mysql
Expand Down Expand Up @@ -273,10 +277,14 @@ jobs:
NEO4J_dbms_memory_heap_initial__size: 10M
ports:
- 7687:7687
dynamodb:
image: amazon/dynamodb-local:1.11.477
amazonServices:
image: localstack/localstack
env:
SERVICES: s3,dynamodb
START_WEB: 0
ports:
- 8000:8000
- 127.0.0.1:8000:4569
- 127.0.0.1:8008:4572

steps:
- name: Start mysql
Expand Down Expand Up @@ -372,10 +380,10 @@ jobs:
narayana-stm
narayana-jta
- category: Amazon
dynamodb: "true"
amazonServices: "true"
timeout: 20
test-modules: >
amazon-dynamodb
amazon-services
amazon-lambda
amazon-lambda-http
- category: Messaging
Expand Down Expand Up @@ -487,11 +495,11 @@ jobs:
-e ACCEPT_EULA=Y -e SA_PASSWORD=ActuallyRequired11Complexity \
-d microsoft/mssql-server-linux:2017-CU12
if: matrix.mssql
- name: Dynamo DB Service
- name: Amazon Services
run: |
docker run --rm --publish 8000:8000 --name build-dynamodb \
-d amazon/dynamodb-local:1.11.477
if: matrix.dynamodb
docker run --rm --publish 8000:4569 --publish 8008:4572 --name build-amazon-service-clients -e SERVICES=s3,dynamodb -e START_WEB=0 \
-d localstack/localstack
if: matrix.amazonServices
- name: Neo4j Service
run: |
docker run --rm --publish 7687:7687 --name build-neo4j \
Expand Down
2 changes: 1 addition & 1 deletion .github/workflows/native-cron-build.yml
Original file line number Diff line number Diff line change
Expand Up @@ -54,7 +54,7 @@ jobs:
run: mvn -B install -DskipTests -DskipITs -Dformat.skip

- name: Run integration tests in native
run: mvn -B --settings .github/mvn-settings.xml verify -f integration-tests/pom.xml --fail-at-end -Dno-format -Ddocker -Dnative -Dquarkus.native.container-build=true -Dquarkus.native.builder-image=quay.io/quarkus/ubi-quarkus-native-image:19.3.1-java${{ matrix.java }} -Dtest-postgresql -Dtest-elasticsearch -Dtest-mysql -Dtest-dynamodb -Dtest-vault -Dtest-neo4j -Dtest-keycloak -Dtest-kafka -Dtest-mssql -Dtest-mariadb -Dmariadb.url="jdbc:mariadb://localhost:3308/hibernate_orm_test"
run: mvn -B --settings .github/mvn-settings.xml verify -f integration-tests/pom.xml --fail-at-end -Dno-format -Ddocker -Dnative -Dquarkus.native.container-build=true -Dquarkus.native.builder-image=quay.io/quarkus/ubi-quarkus-native-image:19.3.1-java${{ matrix.java }} -Dtest-postgresql -Dtest-elasticsearch -Dtest-mysql -Dtest-amazon-services -Dtest-vault -Dtest-neo4j -Dtest-keycloak -Dtest-kafka -Dtest-mssql -Dtest-mariadb -Dmariadb.url="jdbc:mariadb://localhost:3308/hibernate_orm_test"

- name: Report
if: always()
Expand Down
10 changes: 10 additions & 0 deletions bom/deployment/pom.xml
Original file line number Diff line number Diff line change
Expand Up @@ -533,11 +533,21 @@
<artifactId>quarkus-amazon-lambda-resteasy-deployment</artifactId>
<version>${project.version}</version>
</dependency>
<dependency>
<groupId>io.quarkus</groupId>
<artifactId>quarkus-amazon-common-deployment</artifactId>
<version>${project.version}</version>
</dependency>
<dependency>
<groupId>io.quarkus</groupId>
<artifactId>quarkus-amazon-dynamodb-deployment</artifactId>
<version>${project.version}</version>
</dependency>
<dependency>
<groupId>io.quarkus</groupId>
<artifactId>quarkus-amazon-s3-deployment</artifactId>
<version>${project.version}</version>
</dependency>
<dependency>
<groupId>io.quarkus</groupId>
<artifactId>quarkus-amazon-lambda-http-deployment</artifactId>
Expand Down
52 changes: 49 additions & 3 deletions bom/runtime/pom.xml
Original file line number Diff line number Diff line change
Expand Up @@ -139,7 +139,7 @@
<aws-lambda-java-events.version>2.2.7</aws-lambda-java-events.version>
<aws-lambda-serverless-java-container.version>1.3.1</aws-lambda-serverless-java-container.version>
<aws-xray.version>2.4.0</aws-xray.version>
<awssdk.version>2.10.70</awssdk.version>
<awssdk.version>2.11.14</awssdk.version>
<aws-alexa-sdk.version>2.30.0</aws-alexa-sdk.version>
<azure-functions-java-library.version>1.3.0</azure-functions-java-library.version>
<kotlin.version>1.3.72</kotlin.version>
Expand Down Expand Up @@ -782,11 +782,21 @@
<artifactId>quarkus-amazon-lambda-http</artifactId>
<version>${project.version}</version>
</dependency>
<dependency>
<groupId>io.quarkus</groupId>
<artifactId>quarkus-amazon-common</artifactId>
<version>${project.version}</version>
</dependency>
<dependency>
<groupId>io.quarkus</groupId>
<artifactId>quarkus-amazon-dynamodb</artifactId>
<version>${project.version}</version>
</dependency>
<dependency>
<groupId>io.quarkus</groupId>
<artifactId>quarkus-amazon-s3</artifactId>
<version>${project.version}</version>
</dependency>
<dependency>
<groupId>io.quarkus</groupId>
<artifactId>quarkus-amazon-alexa</artifactId>
Expand Down Expand Up @@ -2795,26 +2805,62 @@
</exclusions>
</dependency>

<dependency>
<groupId>software.amazon.awssdk</groupId>
<artifactId>sdk-core</artifactId>
<version>${awssdk.version}</version>
</dependency>
<dependency>
<groupId>software.amazon.awssdk</groupId>
<artifactId>aws-core</artifactId>
<version>${awssdk.version}</version>
</dependency>
<dependency>
<groupId>software.amazon.awssdk</groupId>
<artifactId>regions</artifactId>
<version>${awssdk.version}</version>
</dependency>
<dependency>
<groupId>software.amazon.awssdk</groupId>
<artifactId>auth</artifactId>
<version>${awssdk.version}</version>
</dependency>
<dependency>
<groupId>software.amazon.awssdk</groupId>
<artifactId>http-client-spi</artifactId>
<version>${awssdk.version}</version>
</dependency>
<dependency>
<groupId>software.amazon.awssdk</groupId>
<artifactId>dynamodb</artifactId>
<version>${awssdk.version}</version>
</dependency>
<dependency>
<groupId>software.amazon.awssdk</groupId>
<artifactId>netty-nio-client</artifactId>
<artifactId>s3</artifactId>
<version>${awssdk.version}</version>
</dependency>
<dependency>
<groupId>software.amazon.awssdk</groupId>
<artifactId>apache-client</artifactId>
<artifactId>netty-nio-client</artifactId>
<version>${awssdk.version}</version>
</dependency>
<dependency>
<groupId>software.amazon.awssdk</groupId>
<artifactId>url-connection-client</artifactId>
<version>${awssdk.version}</version>
</dependency>
<dependency>
<groupId>software.amazon.awssdk</groupId>
<artifactId>apache-client</artifactId>
<version>${awssdk.version}</version>
<exclusions>
<exclusion>
<groupId>commons-logging</groupId>
<artifactId>commons-logging</artifactId>
</exclusion>
</exclusions>
</dependency>
<dependency>
<groupId>com.amazon.alexa</groupId>
<artifactId>ask-sdk</artifactId>
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -10,13 +10,14 @@
public final class FeatureBuildItem extends MultiBuildItem {

public static final String AGROAL = "agroal";
public static final String AMAZON_DYNAMODB = "amazon-dynamodb";
public static final String AMAZON_LAMBDA = "amazon-lambda";
public static final String AMAZON_S3 = "amazon-s3";
public static final String ARTEMIS_CORE = "artemis-core";
public static final String ARTEMIS_JMS = "artemis-jms";
public static final String CACHE = "cache";
public static final String CDI = "cdi";
public static final String CONFIG_YAML = "config-yaml";
public static final String DYNAMODB = "dynamodb";
public static final String ELASTICSEARCH_REST_CLIENT = "elasticsearch-rest-client";
public static final String FLYWAY = "flyway";
public static final String LIQUIBASE = "liquibase";
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -93,7 +93,7 @@ However, you can go right to the completed example.

Clone the Git repository: `git clone {quickstarts-clone-url}`, or download an {quickstarts-archive-url}[archive].

The solution is located in the `dynamodb-quickstart` {quickstarts-tree-url}/dynamodb-quickstart[directory].
The solution is located in the `amazon-dynamodb-quickstart` {quickstarts-tree-url}/amazon-dynamodb-quickstart[directory].

== Creating the Maven project

Expand All @@ -103,11 +103,11 @@ First, we need a new project. Create a new project with the following command:
----
mvn io.quarkus:quarkus-maven-plugin:{quarkus-version}:create \
-DprojectGroupId=org.acme \
-DprojectArtifactId=dynamodb-quickstart \
-DprojectArtifactId=amazon-dynamodb-quickstart \
-DclassName="org.acme.dynamodb.FruitResource" \
-Dpath="/fruits" \
-Dextensions="resteasy-jsonb,dynamodb,resteasy-mutiny"
cd dynamodb-quickstart
-Dextensions="resteasy-jsonb,amazon-dynamodb,resteasy-mutiny"
cd amazon-dynamodb-quickstart
----

This command generates a Maven structure importing the RESTEasy/JAX-RS, Mutiny and DynamoDB Client extensions.
Expand Down Expand Up @@ -345,15 +345,8 @@ And add following dependency to the application `pom.xml`:
<dependency>
<groupId>software.amazon.awssdk</groupId>
<artifactId>apache-client</artifactId>
<exclusions>
<exclusion>
<groupId>commons-logging</groupId>
<artifactId>commons-logging</artifactId>
</exclusion>
</exclusions>
</dependency>
----
NOTE: It's important to exclude `commons-logging` from the client dependency to force Apache HTTP client to use Quarkus logger.

If you're going to use a local DynamoDB instance, configure it as follows:

Expand Down Expand Up @@ -391,7 +384,7 @@ quarkus.dynamodb.aws.credentials.type=default
=== Packaging

Packaging your application is as simple as `./mvnw clean package`.
It can be run with `java -jar target/dynamodb-quickstart-1.0-SNAPSHOT-runner.jar`.
It can be run with `java -jar target/amazon-dynamodb-quickstart-1.0-SNAPSHOT-runner.jar`.

With GraalVM installed, you can also create a native executable binary: `./mvnw clean package -Dnative`.
Depending on your system, that will take some time.
Expand Down Expand Up @@ -493,5 +486,5 @@ And add Netty HTTP client dependency to the `pom.xml`:

== Configuration Reference

include::{generated-dir}/config/quarkus-dynamodb.adoc[opts=optional, leveloffset=+1]
include::{generated-dir}/config/quarkus-amazon-dynamodb.adoc[opts=optional, leveloffset=+1]

Loading