【问题标题】:J2EE sending scheduled emails using JMS queueJ2EE 使用 JMS 队列发送预定电子邮件
【发布时间】:2014-08-03 07:33:12
【问题描述】:

我需要创建 J2EE 应用程序,它使用 JMS 队列异步发送电子邮件,可以安排稍后发送。

我已经创建了 bean,它发送带有电子邮件数据的消息和 MessageDriven bean,它监听这些消息并发送电子邮件,onMessage。现在,我不知道如何实现调度。我正在考虑一些 TimerTask,就像我以前在 Java 中所做的那样,但我不确定我是否可以在 J2EE 中做到这一点。任何建议如何做到这一点?

【问题讨论】:

  • 你在哪个应用服务器和版本上?
  • 那么不要创建 J2EE 应用程序 ;-)

标签: java email jakarta-ee jms scheduled-tasks


【解决方案1】:

您是否查看过@Schedules@Schedule 注释?您可以使用它来设置类似 cron 的计划。

http://docs.oracle.com/javaee/6/api/javax/ejb/Schedule.html

【讨论】:

    【解决方案2】:

    您为什么需要安排时间?您是否设置了必须发送电子邮件的具体时间?如果您的要求只是稍后发送电子邮件,那么您只需要 JMS 队列和一些 bean 即可读取它。您也可以调整此 bean 的线程数。

    如果您想在具体日期发送电子邮件,则可以设置 JMS 属性为交付时间并配置 bean 以读取符合条件的消息。请参阅Message javadoc 中的消息选择器。

    【讨论】:

      【解决方案3】:

      由于 Java EE 6 不需要仅将 JMS 用于异步,您可以在 EJB 上使用 @Asynchronous。有关该主题的示例,请参见 Adam Biens post

      关于调度,crea1 为它指出了正确的工具。或者,您可以使用第 3 方框架,例如我们在应用程序中使用的 Quarz Framework,因为它更复杂。

      【讨论】:

        猜你喜欢
        • 2022-08-13
        • 1970-01-01
        • 2011-01-23
        • 2019-06-04
        • 2023-04-05
        • 1970-01-01
        • 1970-01-01
        • 2021-06-26
        • 2021-09-15
        相关资源
        最近更新 更多