How sartrebrasil/messaging-library works
messaging-lib provides a shared Java messaging API, provider adapters, an optional polling/processing layer, and Spring Boot integration. The documented consumer workflow is receive, decode, handle, classify failures, and acknowledge, retry, or route to dead letter; redrive is a separate operational capability. Edges below reflect README statements and examples only: no source excerpts were provided, so implementation-level call ownership cannot be verified.
Main entry points: messaging Core API · InboxConsumer.java Polling consumer · MessagingAutoConfiguration.java Boot configuration · aws AWS adapter
Components 20
Messaging API
- Core API
messaging-core/src/main/java/com/example/messaging
Provider adapters
- AWS adapter
messaging-aws/src/main/java/com/example/messaging/aws - Azure adapter
messaging-azure/src/main/java/com/example/messaging/azure - GCP adapter
messaging-gcp/src/main/java/com/example/messaging/gcp - JMS adapter
messaging-jms/src/main/java/com/example/messaging/jms - RabbitMQ adapter
messaging-rabbitmq/src/main/java/com/example/messaging/rabbitmq
Inbox processing
- Polling consumer
messaging-inbox/src/main/java/com/example/messaging/inbox/InboxConsumer.java - Envelope decoding
messaging-inbox/src/main/java/com/example/messaging/inbox/EnvelopeReader.java - Message handler
messaging-inbox/src/main/java/com/example/messaging/inbox/InboxHandler.java - Retry policy
messaging-inbox/src/main/java/com/example/messaging/inbox/retry - Delivery outcomes
messaging-inbox/src/main/java/com/example/messaging/inbox/OutcomeApplier.java - Idempotency
messaging-inbox/src/main/java/com/example/messaging/inbox/IdempotencyGuard.java - Dead-letter redrive
messaging-inbox/src/main/java/com/example/messaging/inbox/redrive
Spring integration
- Boot configuration
messaging-spring-boot-starter/src/main/java/com/example/messaging/spring/MessagingAutoConfiguration.java - Inbox lifecycle
messaging-spring-boot-starter/src/main/java/com/example/messaging/inbox/spring/InboxLifecycle.java - Metrics and health
messaging-spring-boot-starter/src/main/java/com/example/messaging/spring/MessagingHealthAutoConfiguration.java
Other components
- Application
- Cloud brokers
- ActiveMQ brokers
- RabbitMQ broker
Connections 23
- Application → Core API: uses API
README.md - Core API → AWS adapter: implemented by
README.md - Core API → Azure adapter: implemented by
README.md - Core API → GCP adapter: implemented by
README.md - Core API → JMS adapter: implemented by
README.md - Core API → RabbitMQ adapter: implemented by
README.md - AWS adapter → Cloud brokers: uses SDKs
README.md - Azure adapter → Cloud brokers: uses SDKs
README.md - GCP adapter → Cloud brokers: uses SDKs
README.md - JMS adapter → ActiveMQ brokers: connects via JMS
README.md - RabbitMQ adapter → RabbitMQ broker: uses AMQP
README.md - Polling consumer → Core API: polls receiver
README.md - Polling consumer → Envelope decoding: decodes envelope
README.md - Polling consumer → Message handler: invokes handler
README.md - Polling consumer → Idempotency: guards processing
- Polling consumer → Retry policy: classifies failures
- Polling consumer → Delivery outcomes: applies result
- Delivery outcomes → Core API: acks or nacks
README.md - Dead-letter redrive → Core API: uses receiver API
- Boot configuration → Core API: configures providers
README.md - Inbox lifecycle → Polling consumer: starts consumers
README.md - Metrics and health → Boot configuration: adds health metrics
README.md - Boot configuration → Inbox lifecycle: enables optionally
README.md