У меня возникла проблема с дизайном.У меня есть веб-сервис RESTful, реализованный с Джерси .Я также использую Spring Mail для отправки электронной почты.
Моя спецификация должна уведомить определенную группу пользователей (приблизительно 15-20) о том, что был сделан запрос PUT, и сообщить им об изменении ресурса.Также мне нужно отправить массив JSON клиенту, который сделал запрос в качестве ответа.
Сейчас я сделал следующее: после модификации метода, в котором я обрабатываю службу PUT, я отправляю электронные письмапользователи, а затем я возвращаю статус JSON.
Но почему клиент должен ждать окончания почтового уведомления? Что если мой список suer длинный, а клиенты долго ждут ответа.Это не его головная боль.Но я также должен уведомлять пользователей в рамках метода PUT.Если я возвращаю JSON, я теряю контекст для отправки уведомления, выходя из цикла ответа на запрос.
Есть ли лучший способ сделать это?
Чтобы иметь представление, я предоставляюсоответствующая часть моего кода:
//first notify users
notifyUsers(event,jsonEntity,NotificationType.TicketType.UPDATED);
//then return response
return new JSONObject()
.put("response_code:", Response.status(Status.OK).build())
.put("title", evento.getDescrizioneevento())
.put("status", getEventAsString(evento.getStatoevento()))
.put("solved", evento.getCausascatenante());