https://github.com/teedjay/quarkus-kafka-vanilla
Testing the raw basic Kafka consumer and producer APIs using Quarkus
https://github.com/teedjay/quarkus-kafka-vanilla
Last synced: 10 days ago
JSON representation
Testing the raw basic Kafka consumer and producer APIs using Quarkus
- Host: GitHub
- URL: https://github.com/teedjay/quarkus-kafka-vanilla
- Owner: teedjay
- Created: 2020-11-29T16:23:42.000Z (over 5 years ago)
- Default Branch: main
- Last Pushed: 2020-12-01T22:57:17.000Z (over 5 years ago)
- Last Synced: 2025-03-03T04:41:50.916Z (over 1 year ago)
- Language: Java
- Size: 19.5 KB
- Stars: 0
- Watchers: 1
- Forks: 0
- Open Issues: 0
-
Metadata Files:
- Readme: README.md
Awesome Lists containing this project
README
# quarkus-kafka-vanilla project
This project uses [Quarkus](https://quarkus.io/), the Supersonic Subatomic Java Framework.
```
curl -i :8080/kafka/consume <== consume messages for max 1000ms and print the result
curl -i :8080/kafka/produce <== produce 1 message
curl -i :8080/kafka/produce/{N} <== produce N messages
```
## Prerequisite
You need JDK 15 to compile and run this project and you also need to enable preview mode since record are used.
Right now enabling preview mode for compiling and dev mode works out of the box, not need to do anthing specific.
But for some test and some more advanced build processing you might need to set this ENV variable.
```
export _JAVA_OPTIONS="--enable-preview"
```
## Push to Docker Hub
Configured with JIB, will push directly to docker hub
```
./mvnw clean package -Dmaven.test.skip=true -Dquarkus.container-image.push=true
```
## Running the application in dev mode
You can run your application in dev mode that enables live coding using:
```
./mvnw quarkus:dev
```
## Packaging and running the application
The application can be packaged using `./mvnw package`.
It produces the `quarkus-kafka-vanilla-1.0-SNAPSHOT-runner.jar` file in the `/target` directory.
Be aware that it’s not an _über-jar_ as the dependencies are copied into the `target/lib` directory.
The application is now runnable using `java -jar target/quarkus-kafka-vanilla-1.0-SNAPSHOT-runner.jar`.
## Creating a native executable
You can create a native executable using: `./mvnw package -Pnative`.
Or, if you don't have GraalVM installed, you can run the native executable build in a container using: `./mvnw package -Pnative -Dquarkus.native.container-build=true`.
You can then execute your native executable with: `./target/quarkus-kafka-vanilla-1.0-SNAPSHOT-runner`
If you want to learn more about building native executables, please consult https://quarkus.io/guides/building-native-image.