本文へ移動
cccskills
無料GitHub で公開

event-driven-messaging

Use when implementing Kafka, RabbitMQ, Pulsar, or JMS producers and consumers in Spring Boot 4. Covers modular starters, event contracts, idempotency, retries, dead letters, and outbox delivery.

インストール方法を見る

含まれるファイル(5)

  • SKILL.md2.6 KB
  • agents/openai.yaml207 B
  • examples/bad-consumer.java162 B
  • examples/good-consumer.java1.2 KB
  • examples/good-kafka.yml166 B

SKILL.md(原文)

インストールする前に、エージェントに与えられる指示の中身を確認できます。

Event-Driven Messaging

Design for at-least-once delivery unless the complete system proves stronger semantics.

Dependencies and contracts

  • Use the dedicated Boot 4 starter and matching technology test starter.
  • Let Boot manage Spring Kafka, AMQP, Pulsar, and Integration versions.
  • Publish immutable envelopes containing event ID, type, timestamp, schema version, and payload.
  • Treat event schemas as public APIs and evolve them compatibly.
  • Do not serialize JPA entities or internal Jackson configuration as contracts.

Producer rules

  • Publish only after the originating state is durable.
  • Use a transactional outbox when a database write and message must agree.
  • Choose a stable aggregate key when per-aggregate ordering matters.
  • Configure acknowledgements, delivery timeout, and serialization failure behavior explicitly.

Consumer rules

  • Make every handler idempotent with a durable marker or naturally idempotent state transition.
  • Commit the state change and idempotency marker in one transaction.
  • Retry only transient failures with bounded exponential backoff.
  • Route permanent or exhausted failures to a dead-letter destination with diagnostic headers.
  • Build replay as an explicit operation with authorization and auditability.

Testing

  • Use the Boot 4 technology test starter and Testcontainers for broker integration.
  • Test duplicate, reordered, delayed, incompatible, and poison events.
  • Verify schema compatibility independently from handler tests.

Examples

  • See examples/good-consumer.java, examples/good-kafka.yml, and examples/bad-consumer.java.

Official sources

Gotchas

  • Agent assumes broker transactions make external side effects exactly once - consumers still need idempotency.
  • Agent retries every exception - classify permanent failures before retrying.
  • Agent publishes directly after a repository call - use an outbox when atomicity matters.
  • Agent uses old Boot 3 transitive dependencies - declare the Boot 4 messaging and test starters.
  • Agent sends framework entities as events - publish a stable versioned contract.

レビュー

まだレビューはありません。使ってみた感想をお寄せください。

同じリポジトリのスキル

概要と使いどころ

Use when adding Spring AI-specific model observations, token usage, latency, externally configured cost attribution, advisor telemetry, or protected prompt and completion logging. Use production-observability for general service metrics, health, logs, and OTLP setup.

日本語の概要は準備中です。原文の説明を表示しています。

rrezartprebreza/spring-boot-skills3052026年9月21日 更新

Use when versioning Spring MVC or WebFlux APIs in Spring Boot 3 / Spring Framework 6. Covers explicit URL, header, and media-type strategies, compatibility rules, and deprecation handling.

日本語の概要は準備中です。原文の説明を表示しています。

rrezartprebreza/spring-boot-skills3052026年9月21日 更新

Use when versioning Spring MVC or WebFlux APIs in Spring Boot 4 / Spring Framework 7. Covers built-in mapping versions, request version resolution, defaults, supported versions, and deprecation headers.

日本語の概要は準備中です。原文の説明を表示しています。

rrezartprebreza/spring-boot-skills3052026年9月21日 更新

Use when introducing or correcting grouped Spring Boot configuration, typed property binding, validation, profiles or secret injection. Do not rewrite unrelated single-value configuration.

日本語の概要は準備中です。原文の説明を表示しています。

rrezartprebreza/spring-boot-skills3052026年9月21日 更新

Use when packaging Spring Boot 4 as an OCI image, JVM container, AOT application, or GraalVM native executable. Covers buildpacks, layers, runtime hints, probes, security, and verification.

日本語の概要は準備中です。原文の説明を表示しています。

rrezartprebreza/spring-boot-skills3052026年9月21日 更新

Use when packaging a Spring Boot 3 application as an OCI image or GraalVM native executable. Covers buildpacks, layered images, JVM containers, AOT hints, probes, security, and verification.

日本語の概要は準備中です。原文の説明を表示しています。

rrezartprebreza/spring-boot-skills3052026年9月21日 更新

rrezartprebreza のスキルをすべて見る

このスキルの問題を報告する