定期一段时间后,使用弹簧启动自动启动功能

时间:2018-05-03 12:48:50

标签: spring-boot

我的春季启动应用中有一个API,它发送一封包含报告的电子邮件 单击发送按钮时我可以生成i

我现在想要自动化这个过程,因此我希望每周都能发送这封电子邮件而不受任何人为干扰,我被阻止了。怎么可能

谢谢你的帮助。

@RequestMapping(path = "/email/trigger", method = RequestMethod.POST)

public String triggerEmail( @RequestBody Map<String,String> msg) {
  SimpleMailMessage message = new SimpleMailMessage();

  String d = msg.get("data");
  String dd = msg.get("mail");
  String ddd = collaborateurDao.find(dd);

  message.setSubject("Test");
  message.setText(d);
  message.setTo("x@s.com");
  message.setFrom("app@sa.com");

  try {
    mailSender.send(message);

    return "{\"message\": \"OK\"}";
  } catch (Exception e) {
    e.printStackTrace();

    return "{\"message\": \"Error\"}";
  }
}

1 个答案:

答案 0 :(得分:1)

使用Spring Scheduler。实例

@Scheduled(fixedDelay =30000)
public void triggerEmail() {... }

// Like Unix cron
@Scheduled(cron="0 0 * * * *")
public void triggerEmail() {... }

您可以参考该文档以获取更多信息 https://spring.io/guides/gs/scheduling-tasks/

您还可以在Linux中使用OS依赖的调度程序,如cron作业。