This article will finish construction of the OutboundEmailService by implementing the service's REST controller and MessageQueue listener. We will use Docker-Compose to deploy the service. Once the service starts, we exercise the REST endpoint using the service's Swagger user interface and send messages to the service's message queue via RabbitMQ's web interface. We complete the article by viewing the service's operational metrics using Grafana.
A common requirement for many applications is the ability to send email messages. In this first part of a two-article series, we build the OuboundEmailService. The service receives outbound email requests via REST endpoint and Message Queue listener and sends them to a configured email provider. This article will focus look at the service models, and the core logic for sending email messages. We will configure Swagger to allow us to exercise the service endpoint, and also discuss service Internationalization (I18N).
Before we start building our first service, we will need to select a few more tools. This article will cover a selection of tools we will be using for our Spring reference implementation.