Java @Singleton EJB 最多每 5 秒执行一次方法
Java @Singleton EJB executing method at most every 5 seconds
您好,我正在实现一个具有电子邮件发送功能的 Web 应用程序。为了使我们的电子邮件服务器不被列入黑名单,我们必须每 5 秒最多发送一封电子邮件。所以我想创建一个 @Singleton
EJB 电子邮件发件人,这样只有一个 EJB 实例将负责发送整个应用程序中的所有电子邮件。我应该如何实现 5 秒计数器才能每 5 秒最多发送一封电子邮件?例如 class 看起来像
@Singleton
public class EmailSender {
public void sendEmail(String msg){
....
}
}
尝试使用@Schedule:
@Singleton
public class EmailSender {
Queue<Email> queue;
@Schedule(second = "*/5", minute = "*", hour = "*")
public void sendEmail(String msg){
if (!queue.isEmpty()) {
//get queue element and send email
}
}
}
您好,我正在实现一个具有电子邮件发送功能的 Web 应用程序。为了使我们的电子邮件服务器不被列入黑名单,我们必须每 5 秒最多发送一封电子邮件。所以我想创建一个 @Singleton
EJB 电子邮件发件人,这样只有一个 EJB 实例将负责发送整个应用程序中的所有电子邮件。我应该如何实现 5 秒计数器才能每 5 秒最多发送一封电子邮件?例如 class 看起来像
@Singleton
public class EmailSender {
public void sendEmail(String msg){
....
}
}
尝试使用@Schedule:
@Singleton
public class EmailSender {
Queue<Email> queue;
@Schedule(second = "*/5", minute = "*", hour = "*")
public void sendEmail(String msg){
if (!queue.isEmpty()) {
//get queue element and send email
}
}
}