Skip to main content

SCS AWS Kinesis (LocalStack)

(Spring Cloud Stream AWS Kinesis)

Description

AWS Kinesis
Spring Cloud
Spring Cloud Stream
LocalStack

Project SCSKinesisExample-1:

localstack-compose.yaml
SCSKinesisConsumer
SCSKinesisSupplier
SCS-kinesis-description-diag-01.png

Requirements

  • JDK 17

Start LocalStack

Create:

localstack-compose.yaml
version: "3.8"

services:
localstack:
container_name: "${LOCALSTACK_DOCKER_NAME-localstack_main}"
image: localstack/localstack
ports:
- "127.0.0.1:4566:4566" # LocalStack Gateway
- "127.0.0.1:4510-4559:4510-4559" # external services port range
environment:
- DEBUG=${DEBUG-}
- DOCKER_HOST=unix:///var/run/docker.sock
- AWS_ACCESS_KEY_ID=*******
- AWS_SECRET_ACCESS_KEY=*******
- DEFAULT_REGION=us-east-1
- AWS_CBOR_DISABLE=true
volumes:
- "${LOCALSTACK_VOLUME_DIR:-./volume}:/var/lib/localstack"
- "/var/run/docker.sock:/var/run/docker.sock"

Run:

docker compose -f localstack-compose.yaml up

SCSKinesisConsumer

.
├── Consumer.log
├── pom.xml
├── src
│   ├── main
│   │   ├── java
│   │   │   └── com
│   │   │   └── jreact
│   │   │   └── scs
│   │   │   └── kinesis
│   │   │   ├── controller
│   │   │   │   └── KinesisController.java
│   │   │   ├── model
│   │   │   │   └── IntegerEntity.java
│   │   │   └── ScsKinesisConsumerApplication.java
│   │   └── resources
│   │   ├── application-local.properties
│   │   ├── application.properties
│   │   └── logback.xml
│   └── test
└── volume // Docker dir

Run Consumer

mvn clean install
java -Dspring.profiles.active=local -jar target/SCSKinesisConsumer-0.0.1-SNAPSHOT.jar

SCSKinesisSupplier

.
├── pom.xml
├── src
│   ├── main
│   │   ├── java
│   │   │   └── com
│   │   │   └── jreact
│   │   │   └── scs
│   │   │   └── supplier
│   │   │   ├── config
│   │   │   │   └── LocalStackClientConfiguration.java
│   │   │   ├── controller
│   │   │   │   └── KinesisController.java
│   │   │   ├── model
│   │   │   │   └── IntegerEntity.java
│   │   │   └── ScsKinesisSupplierApplication.java
│   │   └── resources
│   │   ├── application-local.properties
│   │   ├── application.properties
│   │   └── logback.xml
├── Supplier.log
└── volume // Docker dir

Run Supplier

mvn clean install
java -Dspring.profiles.active=local -jar target/SCSKinesisSupplier-0.0.1-SNAPSHOT.jar

Source Code

https://github.com/ZbCiok/zjc-examples/tree/main/aws/aws/SCSKinesisExample-1