我正在运行spring(cron)的web应用程序调度程序,用于发送通知邮件,当在本地服务器上运行时运行良好,但在生产模式下发送多封邮件。
<bean id="EmailNotificationScheduledTask" class="com.prism.utils.EmailNotificationTask" />
<task:scheduled-tasks scheduler="scheduler">
<task:scheduled ref="EmailNotificationScheduledTask" method="run" cron="0 0 10 * * MON"/>
</task:scheduled-tasks>
<task:scheduler id="scheduler" pool-size="1"/>
public class EmailNotificationTask extends TimerTask{
@Override
public void run() {
synchronized (this) {
sendPropertyNotificationEmail();
}
//}
}
@SuppressWarnings("unchecked")
public void sendPropertyNotificationEmail(){
try{
//Mail sending logic
}
} catch (DAOException ee) {
_logger.error("Error while sending notification messages", ee);
}
}
}
答案 0 :(得分:0)
检查如何在生产容器上配置实例。如果已设置,请关闭自动缩放功能。批处理程序在任何给定点都不应运行多个实例。