JavaMailを使用してSMTPサーバーに電子メール要求を送信しています。「mail.smtp.connectiontimeout」プロパティと「mail.smtp.timeout」プロパティの両方をそれぞれ5秒と30秒に設定し、これらの両方をSession.getDefaultInstance()に渡します。ただし、Transport.send()を実行すると、設定したタイムアウトが無視されているように見え、Solarisマシンでタイムアウトするのに約3:45かかります。Macではタイムアウトは約1:30かかります。これはJavaMailのバグですか、それとも他のプロパティを設定する必要がありますか?
2146 次
1 に答える
1
タイムアウト設定は Sun JVM に固有のものだと思います。そのため、Mac ではまったく同じように機能しない可能性があります。
過去にこの問題が発生しました-最終的にはWebスレッドを使い果たしました。私がしたことは、小さな JMS を追加して、Web 層コードが電子メール リクエストをディスパッチし、メッセージ リスナ (独自のスレッド) が電子メールをリッスンして実行するようにすることでした。アプリの残りの部分には影響しません (メールだけが少し長くかかりました)。根本的な問題を本当に解決するわけではありませんが、最終的にはより良いデザインになりました。
于 2008-12-15T05:27:58.997 に答える