首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >Spring :在计时器过期后向会员和管理员发送自动电子邮件。

Spring :在计时器过期后向会员和管理员发送自动电子邮件。
EN

Stack Overflow用户
提问于 2015-09-03 09:03:37
回答 1查看 563关注 0票数 2

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

现在,当时间到期,我想发送一封电子邮件给支持团队管理员,谁创造了问题和支持团队成员负责解决问题。

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

下面是服务层SupportRequest的一部分:

代码语言:javascript
复制
@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;
    }
}

我不知道还能展示什么。非常感谢。

更新

像这样的东西有用吗?

代码语言:javascript
复制
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);
EN

回答 1

Stack Overflow用户

发布于 2015-09-03 10:51:39

对于这种场景,应该有后台进程运行。这一过程将检查在给定时间内尚未解决的问题。然后,这个过程将发送一条消息给任何人,然后继续在后台运行。

有不同的方法可以做到这一点。

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

2.实时更新技术----您也可以在春季实时更新技术.使用此技术,您将在每个给定期间之后触发请求,以检查过期问题。如果发现任何问题尚未修复,您可以发送邮件。请阅读相关文件:Spring 3.2预览:实时更新技术

Web 3. Web 网络套接字也可以用于此类任务。在这里找到好的来源:SpringFramework4.0 M2: WEBSOCKET消息传递体系结构

票数 1
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/32371331

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档