Тайм-ауты не работают с использованием JavaMail 1.4 - PullRequest
1 голос
/ 10 декабря 2008

Я использую JavaMail для отправки запросов электронной почты на SMTP-сервер. Я устанавливаю свойства "mail.smtp.connectiontimeout" и "mail.smtp.timeout" на 5 и 30 секунд соответственно и передаю их оба в Session.getDefaultInstance (). Тем не менее, когда я выполняю Transport.send (), установленные мной тайм-ауты, похоже, игнорируются, и требуется около 3:45 для тайм-аута на машине Solaris. Таймаут занимает около 1:30 на Mac. Это ошибка в JavaMail или мне нужно установить некоторые другие свойства?

1 Ответ

1 голос
/ 15 декабря 2008

Я думаю, что настройки тайм-аута были специфичны для Sun JVM - поэтому он может не работать на Mac точно так же.

У меня была эта проблема в прошлом - в конечном итоге из-за использования веб-потоков. Что я сделал, так это добавил немного JMS, чтобы код веб-уровня отправлял запрос электронной почты - и прослушиватель сообщений (который был его собственным потоком) прослушивал и обрабатывал электронную почту - в том случае, когда он застрял, он не завис Влияние остальной части приложения (только электронные письма заняли немного больше времени). На самом деле не решает проблему с корнем, но я получил лучший дизайн.

...