mail.MailSpooler SpoolLockTimeoutException

jan*_*jan 7 coldfusion

设置邮件服务器参数时发生异常.此异常是由以下原因引起的:coldfusion.mail.MailSpooler $ SpoolLockTimeoutException:等待邮件假脱机目录上的锁定时发生超时.

最近我开始在mail.log文件中得到这个令人讨厌的异常.一旦出现此异常,从该coldfusion实例发送的每个邮件都会抛出相同的异常.
似乎唯一有用的是重启coldfusion服务器.在(通常)一两天之后,同样的异常再次出现,我们又回到了同样的情况.

我知道控制mailspool超时修补程序,但它只是将超时从30秒增加到60秒.由于邮件发送成功直到我得到例外,我不认为这是我的解决方案.

我也阅读了adobe论坛中人们安装了修补程序的帖子,但仍然得到错误.

当这个异常出现时,我还尝试了一个脚本只重新启动邮件服务,但这对我不起作用,因为对于有这个问题的其他人没有.这也不是具体的解决方案.

  • 我发送的邮件是简单的html邮件.
  • 一天内传播的邮件数量不超过30个.
  • 我曾经多次从同一个coldfusion服务器发送邮件,但是 <cfmail>.这是我第一次在cfscript中发送它们.我不知道这是否与它有任何关系,但它只是因为我使用的cfscript相当于<cfmail>我开始得到这个异常.

我能找到的所有相关博文都没有答案,但也很老.我认为现在有人可能有解决方案.

谢谢.

(在Windows 2008服务器上使用coldfusion 9.0.1服务器)

rip*_*747 1

这条来自 talktree 的链可能会带来一些启发:

http://www.talkingtree.com/blog/index.cfm?mode=entry&entry=67FD4A34-50DA-0559-A042BCA588B4C15B

他们的意思是,这可能是磁盘活动时间过长的问题。您可以使用 jvm 参数增加邮件假脱机超时:-Dcoldfusion.spooltimeout=120

哦....还有一件事。如果您在发生错误时使用 cfmail 通过电子邮件发送转储,请确保将“format="text"”添加到 cfdump 标记中。有些电子邮件可能会变得相当大,并可能导致错误。

  • 感谢您的回复。TalkingTree 上不断出现的问题是,为什么将电子邮件写入磁盘需要的时间超过 30 秒?我不认为将超时从 30 秒提高到 120 秒作为解决方案,因为 &lt; 3kb 的邮件首先不应超过 30 秒超时。在回复中人们还指出超时后锁不会释放。这也不应该发生。talkTree 链也可以追溯到 2005 年,最后一次评论是 2009 年。他们谈论 cf7 和 cf8。我在 cf9 中仍然遇到这个问题,想知道对此是否有任何新的见解。 (3认同)