我有一个具有JPA/hibernate后端的多线程应用程序(在servlet容器中运行)。这个应用程序允许通过简单的URL检索文档。在第一次下载文档时(即接收到对特定URL的请求),应用程序应通过电子邮件发送通知消息,并在数据库中将文档标记为已检索。
确保每个文档只发送一封电子邮件的正确方法是什么?由于检索文档的链接可能会被单击多次,因此可能存在并行事务(在不同的线程中)。这些事务只有在提交时才会看到各自的结果。
发布于 2012-01-09 17:04:21
由于发送电子邮件不是事务性的,我认为有两种可能性:
或者你根本不关心,并假设并发的首次下载会非常异常。因此,你可能会收到两封电子邮件,而不是一封,在这种情况下,你只需删除多余的电子邮件。
https://stackoverflow.com/questions/8785750
复制相似问题