-
Notifications
You must be signed in to change notification settings - Fork 0
feat(springwolf-example): initialize Spring Wolf example project with… #136
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
Conversation
… Kafka integration and Docker support
WalkthroughAdds a new example module "spring-wolf-example" with Maven module registration, project files (source, resources, Docker, compose, scripts), CI workflows and labeler entry, README updates, and supporting build/wrapper artifacts. Changes
Estimated code review effort🎯 3 (Moderate) | ⏱️ ~25 minutes
Possibly related PRs
Pre-merge checks and finishing touches❌ Failed checks (1 warning)
✅ Passed checks (2 passed)
✨ Finishing touches
🧪 Generate unit tests (beta)
Thanks for using CodeRabbit! It's free for OSS, and your support helps us grow. If you like it, consider giving us a shout-out. Comment |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Actionable comments posted: 13
📜 Review details
Configuration used: CodeRabbit UI
Review profile: ASSERTIVE
Plan: Pro
📒 Files selected for processing (22)
.github/labeler.yml(1 hunks).github/workflows/springwolf-example.yml(1 hunks)pom.xml(1 hunks)spring-wolf-example/.dockerignore(1 hunks)spring-wolf-example/.gitattributes(1 hunks)spring-wolf-example/.github/maven.yml(1 hunks)spring-wolf-example/.gitignore(1 hunks)spring-wolf-example/.mvn/wrapper/maven-wrapper.properties(1 hunks)spring-wolf-example/Dockerfile(1 hunks)spring-wolf-example/README.md(1 hunks)spring-wolf-example/compose.yaml(1 hunks)spring-wolf-example/docker/kafka/create_topic.sh(1 hunks)spring-wolf-example/mvnw(1 hunks)spring-wolf-example/mvnw.cmd(1 hunks)spring-wolf-example/pom.xml(1 hunks)spring-wolf-example/src/main/java/com/io/example/SpringWolfExampleApplication.java(1 hunks)spring-wolf-example/src/main/java/com/io/example/consumer/KafkaConsumer.java(1 hunks)spring-wolf-example/src/main/java/com/io/example/dto/KafkaDto.java(1 hunks)spring-wolf-example/src/main/java/com/io/example/producer/KafkaProducer.java(1 hunks)spring-wolf-example/src/main/java/com/io/example/properties/KafkaProperties.java(1 hunks)spring-wolf-example/src/main/resources/application-prd.yaml(1 hunks)spring-wolf-example/src/main/resources/application.yaml(1 hunks)
🧰 Additional context used
🧠 Learnings (5)
📓 Common learnings
Learnt from: igorcampos-dev
Repo: igorcampos-dev/spring-integrations-examples PR: 40
File: spring-kafka-example/src/main/java/com/io/example/consumer/KafkaConsumerServiceImpl.java:18-22
Timestamp: 2025-07-27T19:57:31.204Z
Learning: In the spring-integrations-examples project, user igorcampos-dev prefers to keep simple example implementations minimal without additional error handling complexity, as the examples are for demonstration purposes rather than production use.
Learnt from: igorcampos-dev
Repo: igorcampos-dev/spring-integrations-examples PR: 40
File: spring-kafka-example/src/main/java/com/io/example/producer/KafkaProducerServiceImpl.java:26-26
Timestamp: 2025-07-27T19:48:52.891Z
Learning: In the spring-kafka-example project, user igorcampos-dev is comfortable with logging complete message objects in Kafka producer implementations and does not consider it a security concern, indicating no sensitive data is involved or other security measures are in place.
Learnt from: igorcampos-dev
Repo: igorcampos-dev/spring-integrations-examples PR: 21
File: spring-kafka-example/README.md:12-17
Timestamp: 2025-07-22T01:35:41.406Z
Learning: User igorcampos-dev prefers minimal, high-level documentation in README files without detailed version specifications, choosing to keep tech stack information simple rather than adding precise version numbers.
Learnt from: igorcampos-dev
Repo: igorcampos-dev/spring-integrations-examples PR: 21
File: spring-kafka-example/compose.yaml:30-32
Timestamp: 2025-07-22T01:30:57.054Z
Learning: User igorcampos-dev prefers to maintain environment parity between local development and production, avoiding development-specific configurations like ALLOW_PLAINTEXT_LISTENER even when they might provide clearer intent or safety nets.
Learnt from: igorcampos-dev
Repo: igorcampos-dev/spring-integrations-examples PR: 26
File: spring-kafka-example/compose.yaml:3-4
Timestamp: 2025-07-24T01:40:49.337Z
Learning: User igorcampos-dev requires hard-coded container names in Docker Compose files (like `container_name: app`) for CI pipeline validation purposes, which is a valid operational requirement that overrides the general best practice of avoiding hard-coded container names.
📚 Learning: 2025-07-27T19:48:52.891Z
Learnt from: igorcampos-dev
Repo: igorcampos-dev/spring-integrations-examples PR: 40
File: spring-kafka-example/src/main/java/com/io/example/producer/KafkaProducerServiceImpl.java:26-26
Timestamp: 2025-07-27T19:48:52.891Z
Learning: In the spring-kafka-example project, user igorcampos-dev is comfortable with logging complete message objects in Kafka producer implementations and does not consider it a security concern, indicating no sensitive data is involved or other security measures are in place.
Applied to files:
spring-wolf-example/src/main/resources/application.yamlspring-wolf-example/README.mdspring-wolf-example/src/main/java/com/io/example/properties/KafkaProperties.javaspring-wolf-example/src/main/java/com/io/example/producer/KafkaProducer.javaspring-wolf-example/src/main/resources/application-prd.yamlspring-wolf-example/pom.xmlspring-wolf-example/src/main/java/com/io/example/consumer/KafkaConsumer.javaspring-wolf-example/src/main/java/com/io/example/dto/KafkaDto.java
📚 Learning: 2025-07-27T19:57:31.204Z
Learnt from: igorcampos-dev
Repo: igorcampos-dev/spring-integrations-examples PR: 40
File: spring-kafka-example/src/main/java/com/io/example/consumer/KafkaConsumerServiceImpl.java:18-22
Timestamp: 2025-07-27T19:57:31.204Z
Learning: In the spring-integrations-examples project, user igorcampos-dev prefers to keep simple example implementations minimal without additional error handling complexity, as the examples are for demonstration purposes rather than production use.
Applied to files:
spring-wolf-example/README.mdspring-wolf-example/pom.xmlspring-wolf-example/src/main/java/com/io/example/SpringWolfExampleApplication.java
📚 Learning: 2025-07-27T19:51:52.736Z
Learnt from: igorcampos-dev
Repo: igorcampos-dev/spring-integrations-examples PR: 40
File: spring-kafka-example/src/main/java/com/io/example/consumer/KafkaConsumerService.java:3-3
Timestamp: 2025-07-27T19:51:52.736Z
Learning: In the spring-integrations-examples project, user igorcampos-dev uses SuppressWarnings("unused") annotations to suppress IntelliJ IDEA alerts, and these annotations should not be suggested for removal as they serve a specific purpose in their development workflow.
Applied to files:
spring-wolf-example/.gitignore
📚 Learning: 2025-07-27T19:48:29.678Z
Learnt from: igorcampos-dev
Repo: igorcampos-dev/spring-integrations-examples PR: 40
File: spring-kafka-example/src/main/java/com/io/example/producer/KafkaProducerServiceImpl.java:25-29
Timestamp: 2025-07-27T19:48:29.678Z
Learning: In the spring-kafka-example project, the message parameter in KafkaProducerServiceImpl.sendMessage(MessageRequestDtoRequest message) is guaranteed to never be null due to the application's design/validation constraints, making null checking unnecessary.
Applied to files:
spring-wolf-example/src/main/java/com/io/example/producer/KafkaProducer.javaspring-wolf-example/src/main/java/com/io/example/dto/KafkaDto.java
🧬 Code graph analysis (1)
spring-wolf-example/src/main/java/com/io/example/consumer/KafkaConsumer.java (2)
spring-batch-db-examples/src/main/java/com/io/example/repository/query/TestEntityQuery.java (1)
RequiredArgsConstructor(6-27)spring-wolf-example/src/main/java/com/io/example/producer/KafkaProducer.java (1)
Component(14-42)
🪛 actionlint (1.7.9)
.github/workflows/springwolf-example.yml
50-50: shellcheck reported issue in this script: SC2086:info:1:25: Double quote to prevent globbing and word splitting
(shellcheck)
50-50: shellcheck reported issue in this script: SC2086:info:2:74: Double quote to prevent globbing and word splitting
(shellcheck)
50-50: shellcheck reported issue in this script: SC2086:info:3:15: Double quote to prevent globbing and word splitting
(shellcheck)
50-50: shellcheck reported issue in this script: SC2129:style:1:1: Consider using { cmd1; cmd2; } >> file instead of individual redirects
(shellcheck)
🪛 Checkov (3.2.334)
spring-wolf-example/Dockerfile
[low] 1-47: Ensure that HEALTHCHECK instructions have been added to container images
(CKV_DOCKER_2)
🪛 Hadolint (2.14.0)
spring-wolf-example/Dockerfile
[warning] 16-16: Quote this to prevent word splitting.
(SC2046)
[warning] 40-40: COPY to a relative destination without WORKDIR set.
(DL3045)
[warning] 41-41: COPY to a relative destination without WORKDIR set.
(DL3045)
[warning] 42-42: COPY to a relative destination without WORKDIR set.
(DL3045)
[warning] 43-43: COPY to a relative destination without WORKDIR set.
(DL3045)
🪛 markdownlint-cli2 (0.18.1)
spring-wolf-example/README.md
39-39: Bare URL used
(MD034, no-bare-urls)
40-40: Bare URL used
(MD034, no-bare-urls)
48-48: Bare URL used
(MD034, no-bare-urls)
49-49: Bare URL used
(MD034, no-bare-urls)
50-50: Link text should be descriptive
(MD059, descriptive-link-text)
🪛 OSV Scanner (2.3.0)
spring-wolf-example/pom.xml
[MEDIUM] 1-1: org.apache.commons:commons-lang3 3.17.0: Apache Commons Lang is vulnerable to Uncontrolled Recursion when processing long inputs
[HIGH] 1-1: org.lz4:lz4-java 1.8.0: yawkat LZ4 Java has a possible information leak in Java safe decompressor
[HIGH] 1-1: org.lz4:lz4-java 1.8.0: LZ4 Java Compression has Out-of-bounds memory operations which can cause DoS
🪛 Shellcheck (0.11.0)
spring-wolf-example/docker/kafka/create_topic.sh
[info] 4-4: Double quote to prevent globbing and word splitting.
(SC2086)
[info] 4-4: Double quote to prevent globbing and word splitting.
(SC2086)
[info] 11-11: Double quote to prevent globbing and word splitting.
(SC2086)
[info] 11-11: Double quote to prevent globbing and word splitting.
(SC2086)
🪛 YAMLlint (1.37.1)
spring-wolf-example/.github/maven.yml
[warning] 3-3: truthy value should be one of [false, true]
(truthy)
[error] 14-14: too many spaces inside brackets
(brackets)
[error] 14-14: too many spaces inside brackets
(brackets)
[error] 15-15: too many spaces inside brackets
(brackets)
[error] 15-15: too many spaces inside brackets
(brackets)
spring-wolf-example/compose.yaml
[error] 46-46: too many spaces inside brackets
(brackets)
[error] 46-46: too many spaces inside brackets
(brackets)
.github/workflows/springwolf-example.yml
[warning] 3-3: truthy value should be one of [false, true]
(truthy)
[error] 23-23: too many spaces inside brackets
(brackets)
[error] 23-23: too many spaces inside brackets
(brackets)
[error] 24-24: too many spaces inside brackets
(brackets)
[error] 24-24: too many spaces inside brackets
(brackets)
🔇 Additional comments (14)
pom.xml (1)
25-25: Module inclusion forspring-wolf-examplelooks correctThe new module entry matches the module directory name and existing module structure; no issues here.
spring-wolf-example/src/main/java/com/io/example/SpringWolfExampleApplication.java (1)
1-13: Spring Boot entrypoint is idiomaticThe
@SpringBootApplicationclass andmainmethod follow standard Spring Boot conventions; nothing to change here.spring-wolf-example/.gitattributes (1)
1-2: Line-ending settings for wrapper scripts look goodThe attributes for
mvnwand*.cmdare appropriate for cross-platform wrapper usage.spring-wolf-example/.mvn/wrapper/maven-wrapper.properties (1)
1-3: Maven wrapper configuration is consistentWrapper properties are well-formed and align with the presence of
mvnw/mvnw.cmdin the module; no issues from this diff.spring-wolf-example/src/main/java/com/io/example/dto/KafkaDto.java (1)
1-3: DTO record is minimal and appropriateUsing a Java
recordforKafkaDtokeeps the example concise and idiomatic; no changes needed.spring-wolf-example/.gitignore (1)
1-33: Module-level .gitignore looks goodPatterns are standard for a Spring module and consistent with typical tooling; no changes needed.
spring-wolf-example/.dockerignore (1)
1-62: .dockerignore is comprehensive and appropriateThe ignore patterns nicely minimize build context (VCS, IDE, build outputs, temp files) and align with typical Java/Spring Docker setups; no changes needed.
spring-wolf-example/src/main/resources/application-prd.yaml (1)
1-58: Production config wiring looks consistent; verify env vars in deploymentThe bindings, Springwolf docket, and Kafka publishing config are internally consistent (all referencing
kafka.serverandkafka.topics.simple-topic); the main thing to double‑check is thatSPRING_WOLF_ENABLED,KAFKA_SERVER, andKAFKA_SIMPLE_TOPICare set correctly in the prod environment / compose overrides.spring-wolf-example/compose.yaml (1)
3-17: App service configuration looks appropriate.The hardcoded
container_name: appaligns with the CI pipeline requirements per project conventions. Environment variables properly override application defaults for Docker environment.spring-wolf-example/mvnw.cmd (1)
1-189: Standard Maven Wrapper script.This is the official Apache Maven Wrapper script (version 3.3.4). No custom modifications detected. The script properly handles distribution download, checksum validation, and cross-platform support.
spring-wolf-example/src/main/java/com/io/example/producer/KafkaProducer.java (1)
14-41: Clean Springwolf integration pattern.The producer implementation demonstrates proper usage of Springwolf's
@AsyncPublisherannotation with@AsyncOperationfor documenting the Kafka channel, combined with Spring Cloud Stream'sStreamBridgefor message publishing. This is a good example pattern for the project.spring-wolf-example/mvnw (1)
1-295: Standard Maven Wrapper script.This is the official Apache Maven Wrapper shell script (version 3.3.4). No custom modifications detected. The script properly handles:
- Multiple download methods (wget, curl, Java fallback)
- SHA-256 checksum validation
- Platform detection (Cygwin, MinGW, AIX, macOS, Linux)
- Maven Daemon (mvnd) support
- Snapshot distribution handling
spring-wolf-example/pom.xml (2)
7-12: Spring Boot 3.5.8 is a valid, released version available from Maven Central (released November 20, 2025) and poses no availability concerns for this dependency.Likely an incorrect or invalid review comment.
43-53: Springwolf library versions are current and compatible.Versions 1.20.0 for springwolf-ui and springwolf-kafka are the latest stable releases (as of December 2025) and are compatible with Spring Boot 3.5.x. No action needed.
spring-wolf-example/src/main/java/com/io/example/consumer/KafkaConsumer.java
Show resolved
Hide resolved
spring-wolf-example/src/main/java/com/io/example/producer/KafkaProducer.java
Show resolved
Hide resolved
spring-wolf-example/src/main/java/com/io/example/properties/KafkaProperties.java
Outdated
Show resolved
Hide resolved
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Actionable comments posted: 3
Caution
Some comments are outside the diff and can’t be posted inline due to platform limitations.
⚠️ Outside diff range comments (1)
README.md (1)
15-30: Fix markdownlint MD058 by adding blank lines around the table.Add an empty line before the table (after Line 16) and after the last row (before Line 30) to satisfy
blanks-around-tables.Below you will find a summary table of each subproject. For more details, please refer to the individual README.md files. | Name | Description | |---------------------------------------------------------------------------|-----------------------------------------------------------------------------------| | [Spring Boot + Spring Batch + Database](./spring-batch-db-examples) | Demonstrates a basic integration between Spring Batch and Databases | | [Spring Boot + Spring Batch + File](./spring-batch-file-examples) | Demonstrates a basic integration between Spring Batch and Files | | [Spring Boot + Jasper](./spring-jasper-example) | Demonstrates a basic integration between Spring Boot and Jasper. | | [Spring Boot Multi Module](./spring-multimodule-example) | Basic demonstration of multi-module configuration in Spring Boot | | [Spring Boot + Kafka](./spring-kafka-example) | Demonstrates a basic integration between Spring Boot and Apache Kafka. | | [Spring Boot + Keycloak](./spring-keycloak-example) | Demonstrates a basic integration between Spring Boot and Keycloak. | | [Spring Boot + Oracle](./spring-oracle-example) | Demonstrates a basic integration between Spring Boot and Oracle. | | [Spring Boot + Postgres](./spring-postgres-example) | Demonstrates a basic integration between Spring Boot and Postgres. | | [Spring Boot + Mysql](./spring-mysql-example) | Demonstrates a basic integration between Spring Boot and Mysql. | | [Spring Boot + Grafana + Prometheus](./spring-prometheus-grafana-example) | Demonstrates a basic integration between Spring Boot With Grafana and Prometheus. | | [Spring Boot + Spring Wolf](./spring-wolf-example) | Demonstrates a basic integration between Spring Boot and Spring Wolf. | + ---
♻️ Duplicate comments (2)
spring-wolf-example/src/main/java/com/io/example/producer/KafkaProducer.java (1)
26-33: Header type-id is now correct; consider deriving it fromKafkaDto.class.getName()to avoid drift.spring-wolf-example/compose.yaml (1)
40-57: Makekafka-initwait for Kafka readiness + fix YAMLlint bracket spacing.
depends_on: service_startedcan still race Kafka readiness; and YAMLlint flags thecommandarray spacing. Also keepcontainer_nameas-is (CI requirement). Based on learnings, ...kafka: image: apache/kafka:4.1.1 container_name: kafka @@ networks: - kafka-net + healthcheck: + test: ["CMD-SHELL", "bash -lc 'echo > /dev/tcp/localhost/9092'"] + interval: 5s + timeout: 3s + retries: 30 kafka-init: container_name: kafka-init image: apache/kafka:4.1.1 depends_on: kafka: - condition: service_started + condition: service_healthy - command: [ "/bin/bash", "-c", "/create_topic.sh" ] + command: ["/bin/bash", "-c", "/create_topic.sh"]
📜 Review details
Configuration used: CodeRabbit UI
Review profile: ASSERTIVE
Plan: Pro
📒 Files selected for processing (5)
README.md(1 hunks)spring-wolf-example/compose.yaml(1 hunks)spring-wolf-example/src/main/java/com/io/example/consumer/KafkaConsumer.java(1 hunks)spring-wolf-example/src/main/java/com/io/example/producer/KafkaProducer.java(1 hunks)spring-wolf-example/src/main/java/com/io/example/util/ConstantsUtil.java(1 hunks)
🧰 Additional context used
🧠 Learnings (4)
📓 Common learnings
Learnt from: igorcampos-dev
Repo: igorcampos-dev/spring-integrations-examples PR: 40
File: spring-kafka-example/src/main/java/com/io/example/producer/KafkaProducerServiceImpl.java:26-26
Timestamp: 2025-07-27T19:48:52.891Z
Learning: In the spring-kafka-example project, user igorcampos-dev is comfortable with logging complete message objects in Kafka producer implementations and does not consider it a security concern, indicating no sensitive data is involved or other security measures are in place.
Learnt from: igorcampos-dev
Repo: igorcampos-dev/spring-integrations-examples PR: 40
File: spring-kafka-example/src/main/java/com/io/example/consumer/KafkaConsumerServiceImpl.java:18-22
Timestamp: 2025-07-27T19:57:31.204Z
Learning: In the spring-integrations-examples project, user igorcampos-dev prefers to keep simple example implementations minimal without additional error handling complexity, as the examples are for demonstration purposes rather than production use.
Learnt from: igorcampos-dev
Repo: igorcampos-dev/spring-integrations-examples PR: 21
File: spring-kafka-example/README.md:12-17
Timestamp: 2025-07-22T01:35:41.406Z
Learning: User igorcampos-dev prefers minimal, high-level documentation in README files without detailed version specifications, choosing to keep tech stack information simple rather than adding precise version numbers.
Learnt from: igorcampos-dev
Repo: igorcampos-dev/spring-integrations-examples PR: 21
File: spring-kafka-example/compose.yaml:30-32
Timestamp: 2025-07-22T01:30:57.054Z
Learning: User igorcampos-dev prefers to maintain environment parity between local development and production, avoiding development-specific configurations like ALLOW_PLAINTEXT_LISTENER even when they might provide clearer intent or safety nets.
Learnt from: igorcampos-dev
Repo: igorcampos-dev/spring-integrations-examples PR: 26
File: spring-kafka-example/compose.yaml:3-4
Timestamp: 2025-07-24T01:40:49.337Z
Learning: User igorcampos-dev requires hard-coded container names in Docker Compose files (like `container_name: app`) for CI pipeline validation purposes, which is a valid operational requirement that overrides the general best practice of avoiding hard-coded container names.
📚 Learning: 2025-07-27T19:48:52.891Z
Learnt from: igorcampos-dev
Repo: igorcampos-dev/spring-integrations-examples PR: 40
File: spring-kafka-example/src/main/java/com/io/example/producer/KafkaProducerServiceImpl.java:26-26
Timestamp: 2025-07-27T19:48:52.891Z
Learning: In the spring-kafka-example project, user igorcampos-dev is comfortable with logging complete message objects in Kafka producer implementations and does not consider it a security concern, indicating no sensitive data is involved or other security measures are in place.
Applied to files:
spring-wolf-example/src/main/java/com/io/example/consumer/KafkaConsumer.javaspring-wolf-example/src/main/java/com/io/example/producer/KafkaProducer.java
📚 Learning: 2025-07-27T19:48:29.678Z
Learnt from: igorcampos-dev
Repo: igorcampos-dev/spring-integrations-examples PR: 40
File: spring-kafka-example/src/main/java/com/io/example/producer/KafkaProducerServiceImpl.java:25-29
Timestamp: 2025-07-27T19:48:29.678Z
Learning: In the spring-kafka-example project, the message parameter in KafkaProducerServiceImpl.sendMessage(MessageRequestDtoRequest message) is guaranteed to never be null due to the application's design/validation constraints, making null checking unnecessary.
Applied to files:
spring-wolf-example/src/main/java/com/io/example/producer/KafkaProducer.java
📚 Learning: 2025-07-27T19:57:31.204Z
Learnt from: igorcampos-dev
Repo: igorcampos-dev/spring-integrations-examples PR: 40
File: spring-kafka-example/src/main/java/com/io/example/consumer/KafkaConsumerServiceImpl.java:18-22
Timestamp: 2025-07-27T19:57:31.204Z
Learning: In the spring-integrations-examples project, user igorcampos-dev prefers to keep simple example implementations minimal without additional error handling complexity, as the examples are for demonstration purposes rather than production use.
Applied to files:
README.md
🧬 Code graph analysis (2)
spring-wolf-example/src/main/java/com/io/example/consumer/KafkaConsumer.java (1)
spring-wolf-example/src/main/java/com/io/example/util/ConstantsUtil.java (1)
ConstantsUtil(3-5)
spring-wolf-example/src/main/java/com/io/example/producer/KafkaProducer.java (3)
spring-wolf-example/src/main/java/com/io/example/util/ConstantsUtil.java (1)
ConstantsUtil(3-5)spring-kafka-example/src/main/java/com/io/example/producer/KafkaProducerService.java (2)
KafkaProducerService(5-8)sendMessage(7-7)spring-kafka-example/src/main/java/com/io/example/producer/KafkaProducerServiceImpl.java (2)
KafkaProducerServiceImpl(11-31)sendMessage(24-29)
🪛 markdownlint-cli2 (0.18.1)
README.md
29-29: Tables should be surrounded by blank lines
(MD058, blanks-around-tables)
🪛 YAMLlint (1.37.1)
spring-wolf-example/compose.yaml
[error] 46-46: too many spaces inside brackets
(brackets)
[error] 46-46: too many spaces inside brackets
(brackets)
🔇 Additional comments (1)
spring-wolf-example/src/main/java/com/io/example/consumer/KafkaConsumer.java (1)
20-37: AsyncAPI/Springwolf header metadata now matchesKafkaDtopackage.
TheDEFAULT_CLASSID_FIELD_NAMEvalue is aligned tocom.io.example.dto.KafkaDto.
spring-wolf-example/src/main/java/com/io/example/consumer/KafkaConsumer.java
Show resolved
Hide resolved
spring-wolf-example/src/main/java/com/io/example/producer/KafkaProducer.java
Show resolved
Hide resolved
spring-wolf-example/src/main/java/com/io/example/util/ConstantsUtil.java
Show resolved
Hide resolved
…emove unnecessary annotation from KafkaConsumer
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Actionable comments posted: 1
📜 Review details
Configuration used: CodeRabbit UI
Review profile: ASSERTIVE
Plan: Pro
📒 Files selected for processing (2)
.github/labeler.yml(1 hunks)spring-wolf-example/src/main/java/com/io/example/consumer/KafkaConsumer.java(1 hunks)
🧰 Additional context used
🧠 Learnings (3)
📓 Common learnings
Learnt from: igorcampos-dev
Repo: igorcampos-dev/spring-integrations-examples PR: 40
File: spring-kafka-example/src/main/java/com/io/example/producer/KafkaProducerServiceImpl.java:26-26
Timestamp: 2025-07-27T19:48:52.891Z
Learning: In the spring-kafka-example project, user igorcampos-dev is comfortable with logging complete message objects in Kafka producer implementations and does not consider it a security concern, indicating no sensitive data is involved or other security measures are in place.
Learnt from: igorcampos-dev
Repo: igorcampos-dev/spring-integrations-examples PR: 21
File: spring-kafka-example/README.md:12-17
Timestamp: 2025-07-22T01:35:41.406Z
Learning: User igorcampos-dev prefers minimal, high-level documentation in README files without detailed version specifications, choosing to keep tech stack information simple rather than adding precise version numbers.
Learnt from: igorcampos-dev
Repo: igorcampos-dev/spring-integrations-examples PR: 21
File: spring-kafka-example/compose.yaml:30-32
Timestamp: 2025-07-22T01:30:57.054Z
Learning: User igorcampos-dev prefers to maintain environment parity between local development and production, avoiding development-specific configurations like ALLOW_PLAINTEXT_LISTENER even when they might provide clearer intent or safety nets.
Learnt from: igorcampos-dev
Repo: igorcampos-dev/spring-integrations-examples PR: 26
File: spring-kafka-example/compose.yaml:3-4
Timestamp: 2025-07-24T01:40:49.337Z
Learning: User igorcampos-dev requires hard-coded container names in Docker Compose files (like `container_name: app`) for CI pipeline validation purposes, which is a valid operational requirement that overrides the general best practice of avoiding hard-coded container names.
📚 Learning: 2025-07-27T19:48:52.891Z
Learnt from: igorcampos-dev
Repo: igorcampos-dev/spring-integrations-examples PR: 40
File: spring-kafka-example/src/main/java/com/io/example/producer/KafkaProducerServiceImpl.java:26-26
Timestamp: 2025-07-27T19:48:52.891Z
Learning: In the spring-kafka-example project, user igorcampos-dev is comfortable with logging complete message objects in Kafka producer implementations and does not consider it a security concern, indicating no sensitive data is involved or other security measures are in place.
Applied to files:
spring-wolf-example/src/main/java/com/io/example/consumer/KafkaConsumer.java
📚 Learning: 2025-07-27T19:51:52.736Z
Learnt from: igorcampos-dev
Repo: igorcampos-dev/spring-integrations-examples PR: 40
File: spring-kafka-example/src/main/java/com/io/example/consumer/KafkaConsumerService.java:3-3
Timestamp: 2025-07-27T19:51:52.736Z
Learning: In the spring-integrations-examples project, user igorcampos-dev uses SuppressWarnings("unused") annotations to suppress IntelliJ IDEA alerts, and these annotations should not be suggested for removal as they serve a specific purpose in their development workflow.
Applied to files:
spring-wolf-example/src/main/java/com/io/example/consumer/KafkaConsumer.java
🧬 Code graph analysis (1)
spring-wolf-example/src/main/java/com/io/example/consumer/KafkaConsumer.java (2)
spring-wolf-example/src/main/java/com/io/example/util/ConstantsUtil.java (1)
ConstantsUtil(3-5)spring-wolf-example/src/main/java/com/io/example/producer/KafkaProducer.java (1)
Component(14-42)
🔇 Additional comments (3)
.github/labeler.yml (1)
29-32: Label glob now matches the actual module directory.This fixes the earlier hyphen mismatch, so the label should correctly apply to changes under
spring-wolf-example/.spring-wolf-example/src/main/java/com/io/example/consumer/KafkaConsumer.java (2)
15-17: Previous issue resolved:@RequiredArgsConstructorremoved.The unnecessary annotation has been removed as requested in the previous review.
19-36: Previous issue resolved: FQCN corrected.The header type-id value now correctly uses
"com.io.example.dto.KafkaDto", matching the actual DTO package. The AsyncAPI annotations are properly configured, and the consumer implementation correctly logs the received message.
… Kafka integration and Docker support
Summary by CodeRabbit
New Features
CI
Documentation
Chores
✏️ Tip: You can customize this high-level summary in your review settings.