создание нескольких транспортных соединений в одном сеансе почты Java - PullRequest
0 голосов
/ 11 июля 2019

Это мои свойства

val props = Properties()
props.put("mail.transport.protocol", "smtp");
props.put("mail.smtp.port", 465);
props.put("mail.smtp.auth", true);
props.put("mail.smtp.starttls.required",true);
props.put("mail.smtp.starttls.enable", true);
props.put("mail.smtp.socketFactory.class", "javax.net.ssl.SSLSocketFactory");
props.put("mail.debug",true)
props.put("mail.smtp.quitwait", false)

Мой объект сеанса

val session = Session.getInstance(props)

Мое транспортное сообщение

val transport1= session.getTransport("smtp")
val transport2= session.getTransport("smtp")

Я хочу знать, что над строкой кода создается два разных транспортных соединения с моим почтовым сервером. если да, то если я могу отправлять 10 писем в минуту с транспортным соединением transport1, то теперь я могу отправлять 20 писем в минуту, используя оба транспортных соединения. Я прав.

В моем проекте я отправляю большое количество сообщений электронной почты. Для этого я использую несколько экземпляров службы, которая отправляет электронную почту. Хорошо ли создавать отдельное транспортное соединение для каждого экземпляра или использовать один и тот же транспортный экземпляр ч / б для всех экземпляров сервис.

1 Ответ

2 голосов
/ 12 июля 2019

Двойной вызов session.getTransport создаст два транспортных объекта, каждый из которых может иметь свое собственное соединение с сервером.То, обеспечивает ли это лучшую производительность, зависит от возможностей многопроцессорной / многопоточности как клиента, так и сервера, а также от скорости сети.

...