基本上,我的 Web 应用程序中存在长时间运行任务的问题。当前,此任务由 EJB 执行,该 EJB 在执行任务时处于阻塞状态(任务是外部程序,EJB 只是等待结果)。
现在根据这篇文章,我想到了将消息驱动 Bean 与 JMS 队列一起使用。
我的问题:这种方法的优点是什么?如果我将 EJB 的调用方法注释为@Asychnronous
我不会拥有与 MDB 相同的功能吗?JMS/MDB 方法的唯一优势是不会丢失待处理作业的特性吗?就资源管理而言,让 EJB 等待任务结果还是让 MDB 更好?