Activation des applications J2EE pour utiliser les ressources de messagerie avec JavaMail

Vous pouvez activer vos applications Java™ Platform, Enterprise Edition (Java EE) en vue de l'utilisation des ressources de messagerie avec l'API JavaMail.

Avant de commencer

A l'aide de l'API JavaMail, un segment de cod peut être incorporé à n'importe quel composant d'application Java EE, tel qu'un EJB (Enterprise JavaBeans) ou un servlet, afin de permettre à l'application d'envoyer un message et d'enregistrer une copie du message dans le dossier des messages envoyés.
Voici un exemple de code que vous pourriez incorporer à une application Java EE :
javax.naming.InitialContext ctx = new javax.naming.InitialContext();

   javax.mail.Session mail_session = (javax.mail.Session) ctx.lookup("java:comp/env/mail/MailSession3");
   MimeMessage msg = new MimeMessage(mail_session);

   msg.setRecipients(Message.RecipientType.TO, InternetAddress.parse("bob@coldmail.net"));

   msg.setFrom(new InternetAddress("alice@mail.eedge.com"));

   msg.setSubject("Message important de eEdge.com");

   msg.setText(msg_text);

   Transport.send(msg);

 
   Store store = mail_session.getStore();

   store.connect();

   Folder f = store.getFolder("Sent");

   if (!f.exists()) f.create(Folder.HOLDS_MESSAGES);

   f.appendMessages(new Message[] {msg});

 

Pourquoi et quand exécuter cette tâche

Les applications Java EE peuvent utiliser les API JavaMail en recherchant les références aux fabriques de connexions JavaMail nommées de façon logique à travers le sous-contexte java:comp/env/mail qui est déclaré dans le descripteur de déploiement d'applications et mappé vers les ressources de la session de messagerie spécifiques à l'application. Comme pour les autres ressources Java EE, cette approche permet d'éliminer le besoin pour l'application de figer dans le code les références aux ressources externes.

Procédure

  1. Recherchez une ressource via l'interface JNDI (Java Naming and Directory Interface). La spécification Java EE considère les instances de session de messagerie comme des ressources ou des fabriques à partir desquelles il est possible d'obtenir des connexions de stockage et de transfert du courrier. Ne figez pas dans le code les sessions de messagerie (remplir un objet Properties, puis l'utiliser pour créer un objet javax.mail.Session). En revanche, vous devez suivre le modèle de programmation Java EE consistant à configurer les ressources par le biais des fonctions du système, puis de les rechercher à l'aide de recherches JNDI.

    Dans l'exemple de code précédent, la ligne javax.mail.Session mail_session = (javax.mail.Session) ctx.lookup("java:comp/env/mail/MailSession3"; illustre l'approche consistant à ne pas figer une session de messagerie dans le code et à utiliser un nom de ressource trouvé via JNDI. Vous pouvez considérer le nom de recherche, mail/MailSession3, comme étant une référence indirecte à la ressource réelle.

  2. Définissez des références de ressource pendant que vous assemblez votre application. Vous devez définir une référence de ressource pour la ressource de messagerie dans le descripteur de déploiement du composant étant donné qu'une session de messagerie est référencée dans la recherche JNDI. En règle générale, vous pouvez utiliser un outil d'assemblage fourni avec le serveur d'applications.
    Lorsque vous créez cette référence, veillez à ce que le nom de la référence corresponde au nom utilisé dans le code. Par exemple, le code précédent utilise java:comp/env/mail/MailSession3 dans sa recherche. Par conséquent le nom de cette référence doit être mail/Session3 et le type de la ressource doit être javax.mail.Session. Après configuration, le descripteur de déploiement contient l'entrée suivante pour la référence de ressource de messagerie :
    <resource-reference> 
       <description>description</description>  
       <res-ref-name>mail/MailSession3</res-ref-name>
       <res-type>javax.mail.Session</res-type>  
       <res-auth>Container</res-auth>
    </resource-reference>
  3. Configurez les fournisseurs et les sessions de messagerie. L'exemple de code fait référence à une ressource de messagerie, le descripteur de déploiement déclare la référence, mais la ressource elle-même n'existe pas encore. Vous devez maintenant configurer la ressource de messagerie qui est référencée par votre composant d'application. Notez que la session de messagerie que vous configurez doit avoir à la fois une portion transport et une portion accès aux messages définies ; la première est requise parce que le code envoie un message et la deuxième l'est aussi parce que le code enregistre également une copie dans le stockage des messages local. Lorsque vous configurez la session de messagerie, vous devez spécifier un nom JNDI. Ce nom est nécessaire pour installer votre application et pour créer un lien entre les références de ressource de votre application et les ressources réelles que vous configurez.
  4. Installez votre application. Vous pouvez installer votre application en utilisant soit la console d'administration, soit l'outil de scriptage. Lors de l'installation, le serveur d'applications inspecte toutes les références de ressource et exige l'entrée d'un nom JNDI pour chacune d'elles. Il ne s'agit pas d'un nom JNDI arbitraire, mais du nom JNDI affecté à une ressource configurée spécifique qui est la cible de la référence.
  5. Gérez les fournisseurs et les sessions de messagerie existants. Vous pouvez mettre à jour et supprimer des fournisseurs et des sessions de messagerie.

    Pour mettre à jour des fournisseurs et des sessions de messagerie :

    1. Ouvrez la console d'administration.
    2. Cliquez sur Ressources > Messagerie dans l'arborescence de navigation de la console.
    3. Sélectionnez la ressource Java Mail à modifier. Pour cela, cliquez sur Fournisseurs JavaMail ou Sessions Javamail.
    4. Sélectionnez la ressource à modifier. Pour supprimer un fournisseur de messagerie ou une session de messagerie, cochez la case associée à la ressource appropriée et cliquez sur Supprimer.
    5. Cliquez sur Valider ou sur OK.
    6. Sauvegardez la configuration.
  6. Facultatif : Déboguez une session de messagerie.

Que faire ensuite

Si votre application possède un client, vous pouvez mettre à jour les fournisseurs et les sessions de messagerie à l'aide de l'outil ACRCT (Application Client Resource Configuration Tool).

Icône indiquant le type de rubrique Rubrique de tâche



Icône d'horodatage Dernière mise à jour: last_date
http://www14.software.ibm.com/webapp/wsbroker/redirect?version=cord&product=was-nd-mp&topic=tmai_jovr
Nom du fichier : tmai_jovr.html