我正在开发一个任务管理类型的应用程序。因此,当有人完成任务时,任务创建者会通过电子邮件发送带有任务 URL 的消息。我正在使用 spring MVC 创建这个应用程序。所以现在的问题是当两个任务几乎同时创建时,第一个任务的电子邮件我得到了为第二个任务生成的 URL。
我编写了以下方法来执行此功能
@RequestMapping(value = "commentTask", method = RequestMethod.POST)
@ResponseBody public List<List<Task>> reply(@ModelAttribute Task task,@RequestParam ("parentId") long parentId,HttpSession session) {
List<List<Task>> listTasks = null;
taskEntryService.insertTask(task,session);
listTasks = taskEntryService.selectAssignedTask(task.getAssignTo(), parentId);
String taskurl = siteUrl + "showAssignedTask?assignto="+ task.getAssignTo() + "&taskId="+parentId;
if(task.getTaskUpdateEmailNotify().equalsIgnoreCase("1")){
try {
if(task.getStatus() == 4){
String completedTaskBody = taskCompletedEmailBody(taskurl, task.getAssignToName(), task.getTaskTitle(), task.getAssignerName(), task.getSummary());
sendmailService.sendMail("no-reply@gmail.com", task.getTaskCreatorEmail(), "Your Task has been Completed", completedTaskBody);
}
} catch (AddressException e) {
e.printStackTrace();
}
}
return listTasks;
}
那么同步此方法的最佳方法是什么。
如果需要更多详细信息,请告诉我