![](/img/trans.png)
[英]Java EE - Singleton EJB with Concurrent Access to Synchronized Method
[英]Java @Singleton EJB executing method at most every 5 seconds
嗨,我正在实现一个具有电子邮件发送功能的Web应用程序。 为了不将我们的电子邮件服务器列入黑名单,我们必须每5秒最多发送一封电子邮件。 因此,我正在考虑创建一个@Singleton
EJB电子邮件发件人,这样,只有一个EJB实例将负责在整个应用程序中发送所有电子邮件。 如何实现5秒计数器,以便每5秒最多发送1封电子邮件? 例如,班级看起来像这样
@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
}
}
}
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.