我需要创建J2EE应用程序,它使用JMS队列来异步发送电子邮件,可以安排稍后发送。
我已经创建了bean,它发送带有电子邮件数据的消息和MessageDriven bean,它监听这些消息并发送电子邮件onMessage。现在,我不知道如何实施调度。我之前想过像Java一样的TimerTasks,但是我不确定我是否可以在J2EE中做到这一点。有什么建议怎么做?
答案 0 :(得分:1)
您是否查看了@Schedules
和@Schedule
注释?您可以使用它来设置类似cron的计划。
答案 1 :(得分:0)
为什么你需要安排?您是否设置了必须发送电子邮件的具体时间?如果您的要求只是稍后发送电子邮件,那么除了JMS队列和一些bean之外,您不需要任何其他内容来阅读它。您也可以调整此bean的线程数。
如果要在具体日期发送电子邮件,则可以将JMS属性设置为交付时间,并将bean配置为读取与条件匹配的消息。请参阅Message
javadoc中的消息选择器。
答案 2 :(得分:0)
由于Java EE 6不需要仅将JMS用于异步,因此您可以在EJB上使用@Asynchronous
。有关示例,请参阅该主题的Adam Biens post。
关于日程安排,crea1指出了正确的工具。或者,您可以使用第三方框架,例如我们在应用程序中使用的Quarz Framework,因为它更复杂。