У меня есть многопоточное приложение (работает в контейнере сервлетов) с бэкэндом JPA/hibernate. Это приложение позволяет получать документы через простые URL-адреса. При первом загрузке документа (т. Е. Запрос на получение определенного URL-адреса) приложение должно отправить уведомление по электронной почте и пометить документ, полученный в базе данных.Как обеспечить одно действие в многопоточном приложении JPA
Каков правильный способ гарантировать, что на каждый документ отправляется только одно электронное письмо? Поскольку ссылка на получение документа может быть нажата несколько раз, могут быть параллельные транзакции (в разных потоках). Тезисы сделок будут видеть их соответствующие результаты только тогда, когда они будут совершены.