Таймауты не работают при использовании JavaMail 1.4

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

Пользовательский скаляр GraphQL
Пользовательский скаляр GraphQL
Листовые узлы системы типов GraphQL называются скалярами. Достигнув скалярного типа, невозможно спуститься дальше по иерархии типов. Скалярный тип...
Как вычислять биты и понимать побитовые операторы в Java - объяснение с примерами
Как вычислять биты и понимать побитовые операторы в Java - объяснение с примерами
В компьютерном программировании биты играют важнейшую роль в представлении и манипулировании данными на двоичном уровне. Побитовые операции...
Поднятие тревоги для долго выполняющихся методов в Spring Boot
Поднятие тревоги для долго выполняющихся методов в Spring Boot
Приходилось ли вам сталкиваться с требованиями, в которых вас могли попросить поднять тревогу или выдать ошибку, когда метод Java занимает больше...
Полный курс Java для разработчиков веб-сайтов и приложений
Полный курс Java для разработчиков веб-сайтов и приложений
Получите сертификат Java Web и Application Developer, используя наш курс.
1
0
2 111
1
Перейти к ответу Данный вопрос помечен как решенный

Ответы 1

Ответ принят как подходящий

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

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

Другие вопросы по теме