【发布时间】:2013-05-27 02:46:01
【问题描述】:
这是我的场景:
- 某些电子邮件发送 bean 被调用,并带有一组邮件构造所需的参数。
- 它创建 MultiPartEmail 并将其排队等待发送,这是由后台的单独线程完成的,调用者不关心它是否已发送。
- 投递线程获取队列中的电子邮件实例并执行 email.send() - 所以它就结束了。
- 投递失败时,bean 会每 5 分钟尝试重发邮件 3 次,然后放弃。
问题:
我不知道如何处理 #4。我手头的是以前构造的 MultiPartEmail 实例,但未能发送。显然再次执行 email.send() 会抛出这个:
java.lang.IllegalStateException:MimeMessage 已构建。
有没有办法重置这种非法状态,以便可以重新使用消息。我真的没有办法从头开始创建新实例 - 调用者早已不复存在,如果无法使用已经构建的对象,它会使整个机制变得非常丑陋。我想我在这里遗漏了一些非常简单的东西..
【问题讨论】:
-
请否决投票者详细说明?
标签: java email apache-commons