PDA

View Full Version : JavaMail API versendet EMails sehr langsam



feily
09-09-13, 14:44
Hallo,

ich habe eine Java-Klasse erstellt, die über die JavaMail API per STMP Mails versendet:



Session session = Session.getInstance(properties);
Transport transport = session.getTransport("smtp");
Message message = new MimeMessage(session);
...
transport.sendMessage(message,message.getAllRecipi ents());Rufe ich die Methode unter Windows 7 auf, werden die Mails sofort verschickt. Wenn der gleiche Code aus RPG heraus auf der AS400 aufgerufen wird, werden die Mails nur sehr langsam verschickt (ca. 2 Mails pro Minute).

Wo könnte das Problem liegen?

Fuerchau
09-09-13, 16:28
Wahrscheinlich an der Kombination RPG und Java.
Wie machst du denn den Aufruf?
Den RPG-Teil hast du ja nicht gepostet.

Die meiste Zeit geht mit der Initiierung der JVM verloren während der Java-Teil dann wohl schnell geht.

Bau doch einfach mal in dein Java-Programm ein paar Logstatements ein um die Zeit der einzelnen Aktionen zu messen.

feily
10-09-13, 09:57
Vielen Dank für deine Antwort.

Die JVM ist fast sofort hochgefahren.

Es vergehen ein paar Sekunden bei:


transport.connect();Das sollte aber kein Problem darstellen.

Die meiste Zeit vergeht bei folgendem Code:


message.saveChanges();
transport.sendMessage(message,message.getAllRecipi ents());
Da diese beiden Zeilen für jede E-Mail ausgeführt werden, ist das vermutlich der Flaschenhals.