2015-07-22 4 views
0

В бит привязки (предназначен для каламбур).Вариант Java - VM для указания сетевого устройства

У нас есть сервер приложений WebSphere, который использует почтовый пакет для отправки электронной почты через JavaMail, через SMTP. У нас есть RHEL-ящик с доступом без полномочий root (не может его изменить), который имеет два сетевых устройства: eth0 и eth1. Почтовый пакет используется значительным числом приложений, и усилия по его обновлению и изменению трудоемки. Раньше нам не пришлось об этом беспокоиться.

Мне нужно, чтобы почта была отправлена ​​с eth1, однако у меня нет средств для ее настройки. Это, https://www-01.ibm.com/support/knowledgecenter/SSD28V_8.5.5/com.ibm.websphere.nd.doc/ae/trun_multiplenic.html, не помогает, поскольку он не контролирует исходящие звонки.

Попробовали несколько вариантов виртуальной машины JavaMail, например mail.smtp.localhost/localaddress (но я знал, что с помощью get-go, который будет для входящих привязок портов, все равно попытался).

К сожалению, я не сталкивался с опцией виртуальной машины, которая позволила бы мне указать, какое сетевое устройство использовать через JavaMail или для JVM вообще (последним будет предпочтительнее).

Мое намерение состоит в том, чтобы свести к минимуму уровень усилий, чтобы приспособить это изменение в настройке сервера (для которого мы не контролируем).

Очевидным ответом является настройка iptables для принудительного перемещения всего трафика на одном устройстве, но мы не можем этого сделать.

Следующий ответ - указать сетевое устройство, которое будет использоваться при создании транспорта, не может этого сделать, потому что мы не являемся владельцем почтового пакета и потребуем значительного количества времени для теста регрессии для всех приложений.

Любая помощь или творческие подходы к попытке (с учетом ограничений) будут оценены!

ответ

0

Очень интересные «проблемы с ограничениями» :) В JavaMail есть свойство, называемое . Значение должно быть IP-интерфейсом, который вы хотите связать (IP-адрес eth1). Поскольку это свойство, вы можете установить его при запуске приложения с -Dmail.smtp.localaddress=123.124.123.123

AFAIK есть «общее свойство Jvm» установки в WebSphere, но я не знаю, что именно

+0

Спасибо за мысль! Пробовал это уже .., что побудило меня отредактировать выше, поскольку я указал java.smpt .... не java.smtp :-) – Anthony

+0

oh - я прочитал над «localaddress» в вашем вопрос: - | Возможно ли, что это значение будет перезаписано почтовым пакетом или оно изменит фабрику сокетов по умолчанию из javamail? – Indivon

+0

И если он использует smtps, вам нужно использовать 'mail.smtps.localaddress' ... – Indivon

Смежные вопросы