How ceoalmaloco/ms-barriodigital-notify works
ms-barriodigital-notify is an internal RabbitMQ event consumer, not a public API. Events published by the requests service enter three command queues and trigger email, crew-ticket, or PDF-certificate work. Each listener hands the raw message and channel to shared parsing and manual-ACK/retry/idempotency logic before its domain handler runs. The README documents queue behavior and email delivery modes; sampled source confirms shared processing and certificate/crew service behavior. Unsampled details of some domain implementations are represented at their existing directories.
Main entry points: ManualAckProcessor.java Manual ACK processor · EmailConsumer.java Email consumer · CrewConsumer.java Crew consumer · CertificateConsumer.java Certificate consumer
Components 19
Rabbit messaging
- Manual ACK processor
src/main/java/cl/duoc/barriodigital/notify/messaging/ManualAckProcessor.java - Envelope parser
src/main/java/cl/duoc/barriodigital/notify/messaging/EnvelopeParser.java - Processed events
src/main/java/cl/duoc/barriodigital/notify/messaging/ProcessedEvents.java
Email delivery
- Email consumer
src/main/java/cl/duoc/barriodigital/notify/consumer/email/EmailConsumer.java - Email sender
src/main/java/cl/duoc/barriodigital/notify/consumer/email/EmailSender.java - SMTP sender
src/main/java/cl/duoc/barriodigital/notify/consumer/email/SmtpEmailSender.java - Logging sender
src/main/java/cl/duoc/barriodigital/notify/consumer/email/LoggingEmailSender.java
Crew tickets
- Crew consumer
src/main/java/cl/duoc/barriodigital/notify/consumer/crew/CrewConsumer.java - Crew ticket service
src/main/java/cl/duoc/barriodigital/notify/consumer/crew/CrewTicketService.java
PDF certificates
- Certificate consumer
src/main/java/cl/duoc/barriodigital/notify/consumer/certificate/CertificateConsumer.java - Certificate service
src/main/java/cl/duoc/barriodigital/notify/consumer/certificate/CertificateService.java - PDF generator
src/main/java/cl/duoc/barriodigital/notify/consumer/certificate/CertificatePdfGenerator.java - Certificate file store
src/main/java/cl/duoc/barriodigital/notify/consumer/certificate/CertificateFileStore.java
Runtime configuration
- Queue topology
src/main/java/cl/duoc/barriodigital/notify/config/RabbitTopologyConfig.java - Queue names
src/main/java/cl/duoc/barriodigital/notify/config/RabbitNamesProperties.java
Other components
- Requests service
- RabbitMQ broker
- SMTP server
- PDF volume
Connections 21
- Requests service → RabbitMQ broker: publishes events
README.md - RabbitMQ broker → Email consumer: delivers email commands
README.md - RabbitMQ broker → Crew consumer: delivers crew commands
README.md - RabbitMQ broker → Certificate consumer: delivers certificate commands
README.md - Queue topology → Queue names: uses names
src/main/java/cl/duoc/barriodigital/notify/config/RabbitTopologyConfig.java - Email consumer → Queue names: reads queue name
src/main/java/cl/duoc/barriodigital/notify/consumer/email/EmailConsumer.java - Crew consumer → Queue names: reads queue name
src/main/java/cl/duoc/barriodigital/notify/consumer/crew/CrewConsumer.java - Certificate consumer → Queue names: reads queue name
src/main/java/cl/duoc/barriodigital/notify/consumer/certificate/CertificateConsumer.java - Email consumer → Manual ACK processor: submits message
src/main/java/cl/duoc/barriodigital/notify/consumer/email/EmailConsumer.java - Crew consumer → Manual ACK processor: submits message
src/main/java/cl/duoc/barriodigital/notify/consumer/crew/CrewConsumer.java - Certificate consumer → Manual ACK processor: submits message
src/main/java/cl/duoc/barriodigital/notify/consumer/certificate/CertificateConsumer.java - Manual ACK processor → Envelope parser: parses body
src/main/java/cl/duoc/barriodigital/notify/messaging/ManualAckProcessor.java - Manual ACK processor → Processed events: checks and marks
src/main/java/cl/duoc/barriodigital/notify/messaging/ManualAckProcessor.java - Email consumer → Email sender: sends composed email
src/main/java/cl/duoc/barriodigital/notify/consumer/email/EmailConsumer.java - Email sender → SMTP sender: sends via SMTP
README.md - Email sender → Logging sender: selects logging mode
README.md - Crew consumer → Crew ticket service: handles ticket
src/main/java/cl/duoc/barriodigital/notify/consumer/crew/CrewConsumer.java - Certificate consumer → Certificate service: handles certificate
src/main/java/cl/duoc/barriodigital/notify/consumer/certificate/CertificateConsumer.java - Certificate service → Certificate file store: saves document
src/main/java/cl/duoc/barriodigital/notify/consumer/certificate/CertificateService.java - Certificate file store → PDF generator: generates PDF
src/main/java/cl/duoc/barriodigital/notify/consumer/certificate/CertificateFileStore.java - Certificate file store → PDF volume: writes file
README.md