Ejb3 3-message-driven-beans fr

1,062 views
979 views

Published on

0 Comments
2 Likes
Statistics
Notes
  • Be the first to comment

No Downloads
Views
Total views
1,062
On SlideShare
0
From Embeds
0
Number of Embeds
0
Actions
Shares
0
Downloads
33
Comments
0
Likes
2
Embeds 0
No embeds

No notes for slide

Ejb3 3-message-driven-beans fr

  1. 1. EJB 3:Message Driven Beans 1
  2. 2. AgendaDistinguer un message-driven beans (BMD) à partir de session de beansTypes de messagesFaire un MDB pour recevoir Messages textesFaire un client denvoyer Messages textes 2
  3. 3. Présentation 3
  4. 4. Session Beans vs.Message-Driven Beans (MDB)Session de beans Message-driven Beans-Appelez directement -Appelez directement •Le client accède à spécifiques (via •Le client met un message dans la file. l’interface) Queue décide plus tard sur lequel-invoqué manière synchrone bean reçoit le message. •Le client attend jusquà bean -invoqué manière synchrone la réponse se termine •Pas dattente pour le bean à traiter la-Peut retourner des valeurs au client demande. Les messages pas toujours envoyé. •Client peut recevoir le valeur -Ne pas retourner les valeurs pour le client («feu de retour à partir dappel de méthode et oublier »)-- Basé sur les interfaces •Le client peut envoyer des données, mais ne • EJB est linterface en plus classe peut pas obtenir la valeur de réponseconcrète -Non basée sur des interfaces • Le client fait référence à linterface • EJB peut être classe concrète uniquement • Le client ne fait pas référence à la classe de aucune façon (seulement pour la file dattente) 4
  5. 5. approche généraleserveur  Classe implémente MessageListener  Remplace onMessage  Tagged avec @ MessageDriven  Habituellement avec type de file activationConfig donnant le nom &  Blah-service.xml Donne spécifiques au serveur définition de file de messagesClient  classe principale Trouve ConnectionFactory et file dattente dans InitialContext  Crée session et MessageProducer  Envoie à plusieurs reprises TextMessage, ObjectMessage, ou dautres type de message  jndi.properties Même que dans la section sur les sessions de beans 5
  6. 6. Types de messagesIl ya cinq types de messages prédéfinis  TextMessage Pour envoyer Strings  ObjectMessage Pour envoyer des objets sérialisables  MapMessage Pour envoyer des ensembles de noms (Cordes) et les valeurs (primitives).  ByteMessage • Pour envoyer des messages binaires (flux doctets)  StreamMessage • Pour envoyer une série de primitives JavaServeur jette arg onMessage à ce type  Server peut faire l’instance si le même MDB recevra plus dun type de message 6
  7. 7. MDB pour les messages texte 7
  8. 8. approcheFaire nouvel EJB projetImplementer MessageListener  Remplacer onMessage, casté l’ argument à TextMessage, extrait message String avec getText  Étiquette avec@MessageDriven  Habituellement définissent activationConfig à lannotation, mais peut être défini par programmation  destinationType est généralement javax.jms.Queue  destination est la file dattente / YourQueueNameMettez YourQueueName-service.xml dans src  Contient spécifique au serveur dinformations (voir la diapositive à venir)Déployer application serveur  cliquez R- sur serveur, Ajouter / Supprimer des projets, de démarrer le serveur 8
  9. 9. projet EJBfaire des projets  Pick a name  JBoss en tant que cible dexécution Déploiement sur serveur différent nécessite tard changer de serveur spécifiqueBlah-service.xml  Facultatif: Ajouter à une oreille Si vous faite Projet web Dynamique plus tard qui veut utiliser @ EJB, vous pouvez lajouter à la même oreilleDéploiement de projet  R-cliquez sur JBoss, Ajouter et supprimer des projets, choisissez Projet, Ajouter,Terminer  R-click on JBoss, Start 9
  10. 10. classe listener 10
  11. 11. SimpleQ-service.xml (JBoss-Specific!) 11
  12. 12. Les clients qui sattendentà des BMD Messages textes 12
  13. 13. approcheFaire nouveau projet Pour standalone / bureau client Pour les applications Web qui invoquent BMDEnvoyer des messages  Obtenez InitialContext, rechercher ConnectionFactory & Queue  Faire Connection, Session et MessageProducer  Utilisez MessageProducer denvoyer Messages textesMettez jndi.properties dans src  Comme dans la section sur les session de beans  Déployer application serveur  cliquez R-sur serveur, Ajouter / Supprimer des projets, de démarrer le serveur Pour les projets Web, mais pas pour le bureau des projets Java 13
  14. 14. Remote Desktop Client 14
  15. 15. Remote Desktop Client (Suite) 15
  16. 16. Remote Client: jndi.properties 16
  17. 17. Standalone Client à distance: Déploiement Messages (projet EJB)  Déployé à JBoss.  SimpleQ-service.xml a JBoss spécifiques dinfo Messages-client (Dynamic Web Project)  Pas encore déployé sur nimporte quel serveur.  jndi.properties a JBoss spécifiques dinfo 17
  18. 18. Standalone Client à distance: Résultats (JBoss server.log) 18
  19. 19. Récapitulation 19
  20. 20. Résuméserveur  Implementer MessageListener Remplacer onMessage, casté l’ argument à TextMessage, extrait message String avec getText Étiquette avec@MessageDriven Habituellement définissent activationConfig à lannotation  Mettez YourQueueName-service.xml dans srcClient  classe Java Obtenez InitialContext, rechercher ConnectionFactory & Queue Faire Connection, Session et MessageProducer Utilisez MessageProducer denvoyer Messages textes  Mettez jndi.properties dans src 20
  21. 21. Des questions? 21

×