API JavaMail et implémentation de Tomcat 7
Question
Il existe plusieurs API Java EE qui existent comme cela : API (interfaces, objets de domaine, énumérations, etc.mais pas de véritables cours qui faire truc).Des API comme JPA, JDBC ou JTA.Ces API doivent ensuite avoir des implémentations ;pour JPA, il existe des impléments comme Hibernate, MyBatis ou TopLink.Pour JDBC, il existe des pilotes pour chaque SGBDR spécifique.Pour JTA, il y a Bitronix et Atomikos.
Mais qu’en est-il de JavaMail ?Est-ce juste une API ?Si oui, quelles en sont les implémentations courantes ?Si je déploie mon application Java (en tant que WAR) sur Tomcat 7, d'où vient cette implémentation (plus précisément) ?Tomcat a-t-il son propre impl JavaMail ?Quels JAR/packages/classes composent l'impl de Tomcat ?
La solution
JavaMail est un standard JSR919
Le serveur TomEE prend en charge JavaMail.
La configuration est très simple et se déroule comme ceci
- Tomee vient déjà avec
apache-tomee-plus-1.6.0/lib/geronimo-javamail_1.4_mail-1.8.2.jar
- dans
tomee.xml
(configuré à$TOMEE/conf
) vous ajoutez une entrée comme décrit par Configuration de JavaMail - depuis vos cours, vous pouvez référencer la session de courrier via
@Resource
comme décrit à Ressource javax.mail.Session et authentification SMTP