gpt4 book ai didi

java - Spring : Send automated email to member and admin after timer expires

转载 作者:行者123 更新时间:2023-11-30 10:58:10 24 4
gpt4 key购买 nike

我正在开发一个 Spring-MVC 应用程序,其中有我正在处理的服务台功能。因此,作为服务台的一部分,用户可以创建问题并分配支持团队成员。这样,他们还可以分配需要解决问题的时间。我在 java.sql.TimeStamp 中设置时间。

现在,当时间到期时,我想向支持团队管理员、创建问题的人和负责解决问题的支持团队成员发送电子邮件。

如果它是一个正常的计划或 cron 作业,我可以只编写一个 @Scheduled 方法并完成它,但是在这里,我想在 6 小时后检查问题是否已解决。我如何做到这一点?老实说,我不知道。

这是 SupportRequest 的服务层部分:

@Service
@Transactional
public class SupportRequestServiceImpl implements SupportRequestService{

private final SupportRequestDAO supportRequestDAO;

@Autowired
public SupportRequestServiceImpl(SupportRequestDAO supportRequestDAO){
this.supportRequestDAO = supportRequestDAO;
}

@Autowired
private SupportTeamService supportTeamService;
@Override
public int addSupportRequest(SupportRequest supportRequest, int assignedTeamId, Long groupId) {
SupportTeam supportTeam = this.supportTeamService.getSupportTeamMemberById(assignedTeamId);
if(!(supportTeam == null)){
supportRequest.setCreationTime(new Timestamp(System.currentTimeMillis()));
supportRequest.setAssignedTeamMemberId(supportTeam.getTeamId());
return this.supportRequestDAO.addSupportRequest(supportRequest,groupId);
}
return 0;
}
}

我不知道还能显示什么。多谢。

更新

这样的东西行得通吗?

long delay = 1000*60*60*12; // after 12 hrs
Timer timer = new Timer();
Calendar cal = Calendar.getInstance();

timer.schedule(new TimerTask() {
public void run() {
// Task here ...
System.out.println("inside the main");
Integer id = new Integer(10);
Assert.assertNotNull(id);

}
}, delay);

最佳答案

对于这种情况,应该有后台进程在运行。该过程将检查在给定时间内 Unresolved 问题。然后这个进程会发送消息给任何你想要的人,然后继续在后台运行。

有多种方法可以做到这一点。

<强>1。批处理您可以进行批处理。批处理将在您的服务器上运行,它将检查过期问题,然后将邮件发送给支持团队管理员。

<强>2。实时更新技术您还可以在 Spring 实时更新技术。使用此技术,您将在每个给定时间段后触发请求,以检查是否存在过期问题。如果发现任何问题尚未解决,您可以发送邮件。请在此处阅读相关文档:Spring MVC 3.2 Preview: Techniques for Real-time Updates

<强>3。网络套接字Web socked 也可用于此类任务。在这里找到好的来源:SPRING FRAMEWORK 4.0 M2: WEBSOCKET MESSAGING ARCHITECTURES

关于java - Spring : Send automated email to member and admin after timer expires,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/32371331/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com