2008-12-10 61 views
1

我正在使用JavaMail將電子郵件請求發送到SMTP服務器。我將「mail.smtp.connectiontimeout」和「mail.smtp.timeout」屬性分別設置爲5秒和30秒,並將這兩個屬性都傳遞給Session.getDefaultInstance()。但是,當我執行Transport.send()時,我設置的超時值似乎被忽略,並且在Solaris計算機上花費大約3:45來超時。 Mac上的超時時間爲1:30左右。這是JavaMail中的錯誤還是我需要設置其他屬性?超時無法使用JavaMail 1.4

回答

1

我認爲超時設置是特定於Sun JVM的 - 所以它可能無法在mac上完全相同。

我以前有過這個問題 - 最終會消耗Web線程。我所做的是添加一個小的JMS,以便Web層代碼發送電子郵件請求 - 並且有一個消息監聽器(這是它自己的線程)監聽並執行電子郵件 - 在偶爾發生的情況下, t影響應用程序的其餘部分(只是電子郵件花了一點點時間)。並沒有真正解決根本問題,但我最終得到了更好的設計。