{"id":20173258,"url":"https://github.com/teedjay/quarkus-kafka-reactive","last_synced_at":"2026-05-15T07:09:06.294Z","repository":{"id":73156930,"uuid":"316751561","full_name":"teedjay/quarkus-kafka-reactive","owner":"teedjay","description":"Testing reactive messaging principles using Kafka and Quarkus","archived":false,"fork":false,"pushed_at":"2020-12-01T22:58:49.000Z","size":30,"stargazers_count":0,"open_issues_count":0,"forks_count":0,"subscribers_count":1,"default_branch":"main","last_synced_at":"2025-01-13T15:53:22.880Z","etag":null,"topics":[],"latest_commit_sha":null,"homepage":null,"language":"Java","has_issues":true,"has_wiki":null,"has_pages":null,"mirror_url":null,"source_name":null,"license":null,"status":null,"scm":"git","pull_requests_enabled":true,"icon_url":"https://github.com/teedjay.png","metadata":{"files":{"readme":"README.md","changelog":null,"contributing":null,"funding":null,"license":null,"code_of_conduct":null,"threat_model":null,"audit":null,"citation":null,"codeowners":null,"security":null,"support":null,"governance":null,"roadmap":null,"authors":null,"dei":null,"publiccode":null,"codemeta":null}},"created_at":"2020-11-28T14:28:36.000Z","updated_at":"2020-12-01T22:58:52.000Z","dependencies_parsed_at":null,"dependency_job_id":"9986869a-aec1-4cc9-8f56-09e86b5a47cb","html_url":"https://github.com/teedjay/quarkus-kafka-reactive","commit_stats":null,"previous_names":[],"tags_count":0,"template":false,"template_full_name":null,"repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/teedjay%2Fquarkus-kafka-reactive","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/teedjay%2Fquarkus-kafka-reactive/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/teedjay%2Fquarkus-kafka-reactive/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/teedjay%2Fquarkus-kafka-reactive/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/teedjay","download_url":"https://codeload.github.com/teedjay/quarkus-kafka-reactive/tar.gz/refs/heads/main","host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":241610978,"owners_count":19990505,"icon_url":"https://github.com/github.png","version":null,"created_at":"2022-05-30T11:31:42.601Z","updated_at":"2022-07-04T15:15:14.044Z","host_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub","repositories_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories","repository_names_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repository_names","owners_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners"}},"keywords":[],"created_at":"2024-11-14T01:34:32.858Z","updated_at":"2026-05-15T07:09:06.234Z","avatar_url":"https://github.com/teedjay.png","language":"Java","funding_links":[],"categories":[],"sub_categories":[],"readme":"# quarkus-kafka-reactive project\nThis project uses [Quarkus](https://quarkus.io/), the Supersonic Subatomic Java Framework.\n\n## Start a local Kafka server\n```\ndocker run -d \\\n   --name kafka26 \\\n   -p 9092:9092 \\\n   -e KAFKA_ADVERTISED_HOST_NAME=localhost \\\n   -e KAFKA_CREATE_TOPICS=\"test-input:1:8\" \\\n   -e KAFKA_CREATE_TOPICS=\"test-processing:1:8\" \\\n   -e KAFKA_CREATE_TOPICS=\"test-output:1:8\" \\\n   blacktop/kafka:2.6\n```\n\n## Prerequisite\nYou need JDK 15 to compile and run this project and you also need to enable preview mode since record are used.\nRight now enabling preview mode for compiling and dev mode works out of the box, not need to do anthing specific.\n\nBut for some test and some more advanced build processing you might need to set this ENV variable.\n```\nexport _JAVA_OPTIONS=\"--enable-preview\"\n```\n\n## Push to Docker Hub\nConfigured with JIB, will push directly to docker hub\n```\n./mvnw clean package -Dmaven.test.skip=true -Dquarkus.container-image.push=true\n```\n\n## Running the application in dev mode and Java 15 with preview features enabled\nYou can run your application in dev mode that enables live coding using:\n```\nexport _JAVA_OPTIONS=\"--enable-preview\"\n./mvnw quarkus:dev\n```\n\n## Testing the application\nMessageGenerator will push a new message to `test-input` topic each second.\nMessagePusher can be triggered manually to quickly send 9 new messages onto `test-input` topic.\nMessageProcessor will read for `test-input` simulate work for random ms (max 1 second) and put onto `test-output`\nMessageStreamer will read from `test-input` topic and push to in-memory `sse` channel for MessageSSE to handle.\n\nHere are the different endpoints you can use for test.\n```\ncurl http://localhost:8080/push         \u003c== push 9 new messages quickly\ncurl http://localhost:8080/stream       \u003c== connect and stream SSE events\n\nhttp://localhost:8080/health-ui/\nhttp://localhost:8080/swagger-ui/\n\nhttp://localhost:8080/metrics/\nhttp://localhost:8080/openapi\n```\n\n## Packaging and running the application\n\nThe application can be packaged using `./mvnw package`.\nIt produces the `quarkus-kafka-reactive-1.0-SNAPSHOT-runner.jar` file in the `/target` directory.\nBe aware that it’s not an _über-jar_ as the dependencies are copied into the `target/lib` directory.\n\nThe application is now runnable using `java -jar target/quarkus-kafka-reactive-1.0-SNAPSHOT-runner.jar`.\n\n## Creating a native executable\n\nYou can create a native executable using: `./mvnw package -Pnative`.\n\nOr, 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`.\n\nYou can then execute your native executable with: `./target/quarkus-kafka-reactive-1.0-SNAPSHOT-runner`\n\nIf you want to learn more about building native executables, please consult https://quarkus.io/guides/building-native-image.\n","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fteedjay%2Fquarkus-kafka-reactive","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Fteedjay%2Fquarkus-kafka-reactive","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fteedjay%2Fquarkus-kafka-reactive/lists"}