Campusmanagement

Campusmanagement an der FAU

Inhalt

Konflikte: Log4j SMTPAppender und mail.jar im Tomcat

Wie sich herrausstellte bietet das Verwenden der Javax Mail Library im Tomcat einiges Konfliktpotential.
Nach der Umstellung des Tomcat auf Log4j sollte nun zusätzlich auch der SMTPAppender zum Versenden verschiedener Logmeldungen genutzt werden. Als Abhängigkeiten ergaben sich dadurch die beiden JARs mail.jar und activation.jar, welche im Tomcat common libs Verezichnis bereitgestellt werden müssen.

Soweit so gut.

Nach dem Kopieren der beiden JARs ins Tomcat lib Verzeichnis ergab sich Folgendes beim Versenden der ersten Logmeldung via SMTPAppender folgender Fehler:

log4j:ERROR Error occured while sending e-mail notification.
javax.mail.NoSuchProviderException: smtp
    at javax.mail.Session.getService(Session.java:794)
    at javax.mail.Session.getTransport(Session.java:718)
    at javax.mail.Session.getTransport(Session.java:661)
    at javax.mail.Session.getTransport(Session.java:641)
    at javax.mail.Session.getTransport(Session.java:696)
    at javax.mail.Transport.send0(Transport.java:186)
    at javax.mail.Transport.send(Transport.java:118)
    at org.apache.log4j.net.SMTPAppender.sendBuffer(SMTPAppender.java:416)
    ...

Die Problem war das einige der Webapps ebenfalls eine eigene Version der mail.jar und activation.jar Libraries mitbrachten und diese einen Konflikt mit den im Tomcat libs Verzeichnis bereitgestellten Versionen verursacht.

Nach dem Entfernen der mail.jar und activation.jar aus den WEB-INF/lib Verzeichnissen aller Webapps lief alles ohne Probleme. Die Webapps können für eigenen Mail-Funktionalität auf die mail.jar und activation.jar im Tomcat libs Verzeichnis zurückgreifen und laufen somit ohne Änderung wie vorher.

Kommentar hinterlassen

Ihre Email-Adresse wird nicht veröffentlicht. Erforderliche Felder sind * markiert

Sie können die folgenden HTML-Tags benutzen: <a href="" title=""> <abbr title=""> <acronym title=""> <b> <blockquote cite=""> <cite> <code> <del datetime=""> <em> <i> <q cite=""> <s> <strike> <strong>