Я работаю над клиент-серверным приложением, использующим Джерси в качестве реализации JAX-RS.Я использую приведенный ниже код для обработки пользовательских запросов.
@Path("service")
public class SomeRestService {
@POST
@Path("good")
@Consumes(MediaType.APPLICATION_XML)
@Produces(MediaType.APPLICATION_XML)
public Resp getCardRequest(Req request) {
String result = "Request has been received: " + request;
Response.status(201).entity(result).build();
// Here it becomes clear that the service will have to send an email to someone@mail.com with some content on 17.01.2019 at 14:00 for example
...
Resp response = ...
return response;
}
Насколько я знаю, каждый пользовательский запрос вызывает создание потока на стороне сервера.После того, как ответ был возвращен, поток завершается.Поэтому, если мне нужно отправить электронное письмо клиенту через месяц или в определенную дату и время, я должен каким-то образом запланировать его.Я думал о том, чтобы сохранить необходимую информацию в базе данных и запустить такие утилиты Unix, как cron
или at
, чтобы запрашивать соответствующие таблицы и отправлять электронные письма, если это необходимо.Не уверен, что это лучший способ сделать такую задачу.Как это обычно делается?Мне сказали, что в будущем могут появиться другие каналы уведомлений, такие как sms, whatsapp, viber и т. Д.