SlideShare une entreprise Scribd logo
1  sur  21
Télécharger pour lire hors ligne
EJB 3:
Message Driven Beans



                       1
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 d'envoyer Messages textes




                                                                  2
Présentation



               3
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 d'attente 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 d'appel de méthode         et oublier »)
-- Basé sur les interfaces                                •Le client peut envoyer des données, mais ne
         • EJB est l'interface en plus classe             peut pas obtenir la valeur de réponse
concrète                                            -Non basée sur des interfaces
         • Le client fait référence à l'interface         • 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 d'attente)



                                                                                                   4
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 d'attente dans InitialContext
     Crée session et MessageProducer
     Envoie à plusieurs reprises TextMessage, ObjectMessage, ou d'autres type
     de message
  jndi.properties
    Même que dans la section sur les sessions de beans                          5
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 d'octets)
   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 d'un type
   de message
                                                                                 6
MDB pour les messages texte




                              7
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 à l'annotation, mais peut être
     défini par programmation
       destinationType est généralement javax.jms.Queue
       destination est la file d'attente / YourQueueName
Mettez YourQueueName-service.xml dans src
  Contient spécifique au serveur d'informations (voir la diapositive à venir)
Déployer application serveur
   cliquez R- sur serveur, Ajouter / Supprimer des projets, de démarrer le
     serveur                                                               8
projet EJB
faire des projets
   Pick a name
   JBoss en tant que cible d'exé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 l'ajouter à 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
classe listener




                  10
SimpleQ-service.xml (JBoss-Specific!)




                                        11
Les clients qui s'attendent
à des BMD Messages textes




                               12
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 d'envoyer 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
Remote Desktop Client




                        14
Remote Desktop Client (Suite)




                                15
Remote Client: jndi.properties




                                 16
Standalone Client à distance: Déploiement

 Messages (projet EJB)

      Déployé à JBoss.

      SimpleQ-service.xml a JBoss spécifiques d'info

 Messages-client (Dynamic Web Project)

    Pas encore déployé sur n'importe quel serveur.

      jndi.properties a JBoss spécifiques d'info

                                                        17
Standalone Client à distance: Résultats (JBoss server.log)




                                                    18
Récapitulation



                 19
Résumé
serveur
  Implementer MessageListener
    Remplacer onMessage, casté l’ argument à TextMessage, extrait message String avec
     getText
    Étiquette avec@MessageDriven
    Habituellement définissent activationConfig à l'annotation
  Mettez YourQueueName-service.xml dans src
Client
  classe Java
    Obtenez InitialContext, rechercher ConnectionFactory & Queue
    Faire Connection, Session et MessageProducer
    Utilisez MessageProducer d'envoyer Messages textes
  Mettez jndi.properties dans src
                                                                              20
Des questions?



                 21

Contenu connexe

Tendances

Presentation JEE et son écossystéme
Presentation JEE et son écossystémePresentation JEE et son écossystéme
Presentation JEE et son écossystémeAlgeria JUG
 
J2eeintro
J2eeintroJ2eeintro
J2eeintromedbmb
 
Java Server Faces (JSF)
Java Server Faces (JSF)Java Server Faces (JSF)
Java Server Faces (JSF)Heithem Abbes
 
Formation JAVA/J2EE
Formation JAVA/J2EEFormation JAVA/J2EE
Formation JAVA/J2EEInes Ouaz
 
Support de cours EJB 3 version complète Par Mr Youssfi, ENSET, Université Ha...
Support de cours EJB 3 version complète Par Mr  Youssfi, ENSET, Université Ha...Support de cours EJB 3 version complète Par Mr  Youssfi, ENSET, Université Ha...
Support de cours EJB 3 version complète Par Mr Youssfi, ENSET, Université Ha...ENSET, Université Hassan II Casablanca
 
Développement d'applications pour la plateforme Java EE
Développement d'applications pour la plateforme Java EEDéveloppement d'applications pour la plateforme Java EE
Développement d'applications pour la plateforme Java EESabri Bouchlema
 
Jsf 110530152515-phpapp01
Jsf 110530152515-phpapp01Jsf 110530152515-phpapp01
Jsf 110530152515-phpapp01Eric Bourdet
 
Présentation de JavaServer Faces
Présentation de JavaServer FacesPrésentation de JavaServer Faces
Présentation de JavaServer FacesJS Bournival
 
Workshop spring session 2 - La persistance au sein des applications Java
Workshop spring   session 2 - La persistance au sein des applications JavaWorkshop spring   session 2 - La persistance au sein des applications Java
Workshop spring session 2 - La persistance au sein des applications JavaAntoine Rey
 

Tendances (20)

Presentation JEE et son écossystéme
Presentation JEE et son écossystémePresentation JEE et son écossystéme
Presentation JEE et son écossystéme
 
J2eeintro
J2eeintroJ2eeintro
J2eeintro
 
1 Introduction
1 Introduction1 Introduction
1 Introduction
 
J2ee
J2eeJ2ee
J2ee
 
Java Server Faces (JSF)
Java Server Faces (JSF)Java Server Faces (JSF)
Java Server Faces (JSF)
 
Formation JAVA/J2EE
Formation JAVA/J2EEFormation JAVA/J2EE
Formation JAVA/J2EE
 
Java Server Faces 2
Java Server Faces 2Java Server Faces 2
Java Server Faces 2
 
Java Entreprise Edition
Java Entreprise EditionJava Entreprise Edition
Java Entreprise Edition
 
Support de cours EJB 3 version complète Par Mr Youssfi, ENSET, Université Ha...
Support de cours EJB 3 version complète Par Mr  Youssfi, ENSET, Université Ha...Support de cours EJB 3 version complète Par Mr  Youssfi, ENSET, Université Ha...
Support de cours EJB 3 version complète Par Mr Youssfi, ENSET, Université Ha...
 
Java EE 6 Solutions Linux 2010
Java EE 6 Solutions Linux 2010Java EE 6 Solutions Linux 2010
Java EE 6 Solutions Linux 2010
 
Développement d'applications pour la plateforme Java EE
Développement d'applications pour la plateforme Java EEDéveloppement d'applications pour la plateforme Java EE
Développement d'applications pour la plateforme Java EE
 
Sécurité des Applications Web avec Json Web Token (JWT)
Sécurité des Applications Web avec Json Web Token (JWT)Sécurité des Applications Web avec Json Web Token (JWT)
Sécurité des Applications Web avec Json Web Token (JWT)
 
3 Jsf
3 Jsf3 Jsf
3 Jsf
 
Jsf 110530152515-phpapp01
Jsf 110530152515-phpapp01Jsf 110530152515-phpapp01
Jsf 110530152515-phpapp01
 
Spring
SpringSpring
Spring
 
Support JEE Servlet Jsp MVC M.Youssfi
Support JEE Servlet Jsp MVC M.YoussfiSupport JEE Servlet Jsp MVC M.Youssfi
Support JEE Servlet Jsp MVC M.Youssfi
 
Présentation de JavaServer Faces
Présentation de JavaServer FacesPrésentation de JavaServer Faces
Présentation de JavaServer Faces
 
Workshop spring session 2 - La persistance au sein des applications Java
Workshop spring   session 2 - La persistance au sein des applications JavaWorkshop spring   session 2 - La persistance au sein des applications Java
Workshop spring session 2 - La persistance au sein des applications Java
 
Servlets et JSP
Servlets et JSPServlets et JSP
Servlets et JSP
 
JSF 2.0
JSF 2.0JSF 2.0
JSF 2.0
 

En vedette

Siegel prévenir les difficultés ...unesco
Siegel  prévenir les difficultés ...unescoSiegel  prévenir les difficultés ...unesco
Siegel prévenir les difficultés ...unescoJean-Claude GUILLEMARD
 
Processus de formation chez Quadrilium Managment
Processus de formation chez Quadrilium ManagmentProcessus de formation chez Quadrilium Managment
Processus de formation chez Quadrilium ManagmentRBouhid
 
007 diseño de proyectos 2
007 diseño de proyectos 2007 diseño de proyectos 2
007 diseño de proyectos 2rocio1802276285
 
Eau de-pluie-habitat-2011 sa 1.0 ok
Eau de-pluie-habitat-2011 sa 1.0 okEau de-pluie-habitat-2011 sa 1.0 ok
Eau de-pluie-habitat-2011 sa 1.0 okSaraha import-export
 
microsoft excel basico 2007
microsoft excel basico 2007microsoft excel basico 2007
microsoft excel basico 2007crishthian Oña
 
Présentation 071108 clubnet
Présentation 071108  clubnetPrésentation 071108  clubnet
Présentation 071108 clubnetalmaupoux
 
DIRECCION Y SUPERVISION. COLPOS 54G
DIRECCION Y SUPERVISION. COLPOS 54GDIRECCION Y SUPERVISION. COLPOS 54G
DIRECCION Y SUPERVISION. COLPOS 54GANDREA MEJIA SOLARES
 
Présentation des 10 chapitres des immateriels actifs [mode de compatibilité]
Présentation des 10 chapitres des immateriels actifs [mode de compatibilité]Présentation des 10 chapitres des immateriels actifs [mode de compatibilité]
Présentation des 10 chapitres des immateriels actifs [mode de compatibilité]Anne Laure Bartenay
 
Passwörter
PasswörterPasswörter
Passwörterhc voigt
 
Velvet Consulting Mai 2012
Velvet Consulting Mai 2012Velvet Consulting Mai 2012
Velvet Consulting Mai 2012Publicis
 
Arias Juan. Devolvednos a cristo
Arias Juan. Devolvednos a cristoArias Juan. Devolvednos a cristo
Arias Juan. Devolvednos a cristoinfocatolicos
 
Practica 1 de quimica 3.
Practica 1 de quimica 3.Practica 1 de quimica 3.
Practica 1 de quimica 3.vivimari
 
El funcionamiento básico de una computadora
El funcionamiento básico de una computadoraEl funcionamiento básico de una computadora
El funcionamiento básico de una computadoraandresmora480
 
Virtualbox 130704121526-phpapp01
Virtualbox 130704121526-phpapp01Virtualbox 130704121526-phpapp01
Virtualbox 130704121526-phpapp01sebastian hernandez
 

En vedette (20)

Siegel prévenir les difficultés ...unesco
Siegel  prévenir les difficultés ...unescoSiegel  prévenir les difficultés ...unesco
Siegel prévenir les difficultés ...unesco
 
Processus de formation chez Quadrilium Managment
Processus de formation chez Quadrilium ManagmentProcessus de formation chez Quadrilium Managment
Processus de formation chez Quadrilium Managment
 
Web 2.0
Web 2.0Web 2.0
Web 2.0
 
007 diseño de proyectos 2
007 diseño de proyectos 2007 diseño de proyectos 2
007 diseño de proyectos 2
 
Nuevos formatos 2012
Nuevos formatos 2012Nuevos formatos 2012
Nuevos formatos 2012
 
Eau de-pluie-habitat-2011 sa 1.0 ok
Eau de-pluie-habitat-2011 sa 1.0 okEau de-pluie-habitat-2011 sa 1.0 ok
Eau de-pluie-habitat-2011 sa 1.0 ok
 
microsoft excel basico 2007
microsoft excel basico 2007microsoft excel basico 2007
microsoft excel basico 2007
 
Présentation 071108 clubnet
Présentation 071108  clubnetPrésentation 071108  clubnet
Présentation 071108 clubnet
 
DIRECCION Y SUPERVISION. COLPOS 54G
DIRECCION Y SUPERVISION. COLPOS 54GDIRECCION Y SUPERVISION. COLPOS 54G
DIRECCION Y SUPERVISION. COLPOS 54G
 
Guaranda
GuarandaGuaranda
Guaranda
 
DIAGRAMA DE FLUJO
DIAGRAMA DE FLUJODIAGRAMA DE FLUJO
DIAGRAMA DE FLUJO
 
Lien 06
Lien 06Lien 06
Lien 06
 
Présentation des 10 chapitres des immateriels actifs [mode de compatibilité]
Présentation des 10 chapitres des immateriels actifs [mode de compatibilité]Présentation des 10 chapitres des immateriels actifs [mode de compatibilité]
Présentation des 10 chapitres des immateriels actifs [mode de compatibilité]
 
Passwörter
PasswörterPasswörter
Passwörter
 
Velvet Consulting Mai 2012
Velvet Consulting Mai 2012Velvet Consulting Mai 2012
Velvet Consulting Mai 2012
 
Terminologia
TerminologiaTerminologia
Terminologia
 
Arias Juan. Devolvednos a cristo
Arias Juan. Devolvednos a cristoArias Juan. Devolvednos a cristo
Arias Juan. Devolvednos a cristo
 
Practica 1 de quimica 3.
Practica 1 de quimica 3.Practica 1 de quimica 3.
Practica 1 de quimica 3.
 
El funcionamiento básico de una computadora
El funcionamiento básico de una computadoraEl funcionamiento básico de una computadora
El funcionamiento básico de una computadora
 
Virtualbox 130704121526-phpapp01
Virtualbox 130704121526-phpapp01Virtualbox 130704121526-phpapp01
Virtualbox 130704121526-phpapp01
 

Similaire à Ejb3 3-message-driven-beans fr

Architecture orientée message.pdf
Architecture orientée message.pdfArchitecture orientée message.pdf
Architecture orientée message.pdfSamirBoulguant1
 
S51 vos projets web services ibm i a l aide de php
S51   vos projets web services ibm i a l aide de phpS51   vos projets web services ibm i a l aide de php
S51 vos projets web services ibm i a l aide de phpGautier DUMAS
 
Programmation_JEE_Version_imprimable.pdf
Programmation_JEE_Version_imprimable.pdfProgrammation_JEE_Version_imprimable.pdf
Programmation_JEE_Version_imprimable.pdfngombeemmanuel
 
WebServices.pdfbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbb
WebServices.pdfbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbWebServices.pdfbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbb
WebServices.pdfbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbHINDGUENDOUZ
 
cours-gratuit.com--id-1964.pdf
cours-gratuit.com--id-1964.pdfcours-gratuit.com--id-1964.pdf
cours-gratuit.com--id-1964.pdfRachida19
 
Cours services web_fabrice_mourlin
Cours services web_fabrice_mourlinCours services web_fabrice_mourlin
Cours services web_fabrice_mourlinangeeLee
 
JavaScript aussi sur le serveur et jusque dans le cloud?
JavaScript aussi sur le serveur et jusque dans le cloud?JavaScript aussi sur le serveur et jusque dans le cloud?
JavaScript aussi sur le serveur et jusque dans le cloud?Microsoft
 
JavaScript aussi sur le serveur et jusque dans le cloud?
JavaScript aussi sur le serveur et jusque dans le cloud?JavaScript aussi sur le serveur et jusque dans le cloud?
JavaScript aussi sur le serveur et jusque dans le cloud?benjguin
 
Server Side Javascript in the cloud
Server Side Javascript in the cloudServer Side Javascript in the cloud
Server Side Javascript in the cloudstefounet
 
JEE_chapitre 1.pdf
JEE_chapitre 1.pdfJEE_chapitre 1.pdf
JEE_chapitre 1.pdfiyadamri
 
Rapport MS Exchange 2010
Rapport MS Exchange 2010Rapport MS Exchange 2010
Rapport MS Exchange 2010Majid CHADAD
 
les servlets-java EE
les  servlets-java EEles  servlets-java EE
les servlets-java EEYassine Badri
 
Workshop Spring - Session 1 - L'offre Spring et les bases
Workshop Spring  - Session 1 - L'offre Spring et les basesWorkshop Spring  - Session 1 - L'offre Spring et les bases
Workshop Spring - Session 1 - L'offre Spring et les basesAntoine Rey
 
4 asynch task_services_thread
4 asynch task_services_thread4 asynch task_services_thread
4 asynch task_services_threadSaber LAJILI
 

Similaire à Ejb3 3-message-driven-beans fr (20)

Architecture orientée message.pdf
Architecture orientée message.pdfArchitecture orientée message.pdf
Architecture orientée message.pdf
 
Axis2 services fr
Axis2 services frAxis2 services fr
Axis2 services fr
 
JavaEEGibello.ppt
JavaEEGibello.pptJavaEEGibello.ppt
JavaEEGibello.ppt
 
Jms.back.to.basic
Jms.back.to.basicJms.back.to.basic
Jms.back.to.basic
 
Support Web Services SOAP et RESTful Mr YOUSSFI
Support Web Services SOAP et RESTful Mr YOUSSFISupport Web Services SOAP et RESTful Mr YOUSSFI
Support Web Services SOAP et RESTful Mr YOUSSFI
 
Support NodeJS avec TypeScript Express MongoDB
Support NodeJS avec TypeScript Express MongoDBSupport NodeJS avec TypeScript Express MongoDB
Support NodeJS avec TypeScript Express MongoDB
 
S51 vos projets web services ibm i a l aide de php
S51   vos projets web services ibm i a l aide de phpS51   vos projets web services ibm i a l aide de php
S51 vos projets web services ibm i a l aide de php
 
Programmation_JEE_Version_imprimable.pdf
Programmation_JEE_Version_imprimable.pdfProgrammation_JEE_Version_imprimable.pdf
Programmation_JEE_Version_imprimable.pdf
 
WebServices.pdfbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbb
WebServices.pdfbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbWebServices.pdfbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbb
WebServices.pdfbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbb
 
cours-gratuit.com--id-1964.pdf
cours-gratuit.com--id-1964.pdfcours-gratuit.com--id-1964.pdf
cours-gratuit.com--id-1964.pdf
 
Cours services web_fabrice_mourlin
Cours services web_fabrice_mourlinCours services web_fabrice_mourlin
Cours services web_fabrice_mourlin
 
JavaScript aussi sur le serveur et jusque dans le cloud?
JavaScript aussi sur le serveur et jusque dans le cloud?JavaScript aussi sur le serveur et jusque dans le cloud?
JavaScript aussi sur le serveur et jusque dans le cloud?
 
JavaScript aussi sur le serveur et jusque dans le cloud?
JavaScript aussi sur le serveur et jusque dans le cloud?JavaScript aussi sur le serveur et jusque dans le cloud?
JavaScript aussi sur le serveur et jusque dans le cloud?
 
Server Side Javascript in the cloud
Server Side Javascript in the cloudServer Side Javascript in the cloud
Server Side Javascript in the cloud
 
JEE_chapitre 1.pdf
JEE_chapitre 1.pdfJEE_chapitre 1.pdf
JEE_chapitre 1.pdf
 
Rapport MS Exchange 2010
Rapport MS Exchange 2010Rapport MS Exchange 2010
Rapport MS Exchange 2010
 
les servlets-java EE
les  servlets-java EEles  servlets-java EE
les servlets-java EE
 
Workshop Spring - Session 1 - L'offre Spring et les bases
Workshop Spring  - Session 1 - L'offre Spring et les basesWorkshop Spring  - Session 1 - L'offre Spring et les bases
Workshop Spring - Session 1 - L'offre Spring et les bases
 
Support JEE Spring Inversion de Controle IOC et Spring MVC
Support JEE Spring Inversion de Controle IOC et Spring MVCSupport JEE Spring Inversion de Controle IOC et Spring MVC
Support JEE Spring Inversion de Controle IOC et Spring MVC
 
4 asynch task_services_thread
4 asynch task_services_thread4 asynch task_services_thread
4 asynch task_services_thread
 

Plus de Ben Abdallah Helmi

SCWCD : Java server pages CHAP : 9
SCWCD : Java server pages  CHAP : 9SCWCD : Java server pages  CHAP : 9
SCWCD : Java server pages CHAP : 9Ben Abdallah Helmi
 
SCWCD : Servlet web applications : CHAP : 3
SCWCD : Servlet web applications : CHAP : 3SCWCD : Servlet web applications : CHAP : 3
SCWCD : Servlet web applications : CHAP : 3Ben Abdallah Helmi
 
SCWCD : The servlet model CHAP : 2
SCWCD : The servlet model CHAP : 2SCWCD : The servlet model CHAP : 2
SCWCD : The servlet model CHAP : 2Ben Abdallah Helmi
 
SCWCD : Thread safe servlets : CHAP : 8
SCWCD : Thread safe servlets : CHAP : 8SCWCD : Thread safe servlets : CHAP : 8
SCWCD : Thread safe servlets : CHAP : 8Ben Abdallah Helmi
 
SCWCD : Session management : CHAP : 6
SCWCD : Session management : CHAP : 6SCWCD : Session management : CHAP : 6
SCWCD : Session management : CHAP : 6Ben Abdallah Helmi
 
SCWCD : Handling exceptions : CHAP : 5
SCWCD : Handling exceptions : CHAP : 5SCWCD : Handling exceptions : CHAP : 5
SCWCD : Handling exceptions : CHAP : 5Ben Abdallah Helmi
 
SCWCD : The servlet container : CHAP : 4
SCWCD : The servlet container : CHAP : 4SCWCD : The servlet container : CHAP : 4
SCWCD : The servlet container : CHAP : 4Ben Abdallah Helmi
 
SCWCD : Servlet web applications : CHAP 3
SCWCD : Servlet web applications : CHAP 3SCWCD : Servlet web applications : CHAP 3
SCWCD : Servlet web applications : CHAP 3Ben Abdallah Helmi
 
SCWCD : The servlet model : CHAP : 2
SCWCD  : The servlet model : CHAP : 2SCWCD  : The servlet model : CHAP : 2
SCWCD : The servlet model : CHAP : 2Ben Abdallah Helmi
 
SCWCD : The web client model : CHAP : 1
SCWCD  : The web client model : CHAP : 1SCWCD  : The web client model : CHAP : 1
SCWCD : The web client model : CHAP : 1Ben Abdallah Helmi
 
SCWCD : Web tier design CHAP : 11
SCWCD : Web tier design CHAP : 11SCWCD : Web tier design CHAP : 11
SCWCD : Web tier design CHAP : 11Ben Abdallah Helmi
 

Plus de Ben Abdallah Helmi (18)

The Data Warehouse .pdf
The Data Warehouse .pdfThe Data Warehouse .pdf
The Data Warehouse .pdf
 
Transaction design patterns
Transaction design patternsTransaction design patterns
Transaction design patterns
 
SCWCD : Java server pages CHAP : 9
SCWCD : Java server pages  CHAP : 9SCWCD : Java server pages  CHAP : 9
SCWCD : Java server pages CHAP : 9
 
SCWCD : Servlet web applications : CHAP : 3
SCWCD : Servlet web applications : CHAP : 3SCWCD : Servlet web applications : CHAP : 3
SCWCD : Servlet web applications : CHAP : 3
 
SCWCD : The servlet model CHAP : 2
SCWCD : The servlet model CHAP : 2SCWCD : The servlet model CHAP : 2
SCWCD : The servlet model CHAP : 2
 
SCWCD : The web client model
SCWCD : The web client modelSCWCD : The web client model
SCWCD : The web client model
 
SCWCD : Thread safe servlets : CHAP : 8
SCWCD : Thread safe servlets : CHAP : 8SCWCD : Thread safe servlets : CHAP : 8
SCWCD : Thread safe servlets : CHAP : 8
 
SCWCD : Secure web : CHAP : 7
SCWCD : Secure web : CHAP : 7SCWCD : Secure web : CHAP : 7
SCWCD : Secure web : CHAP : 7
 
SCWCD : Secure web
SCWCD : Secure webSCWCD : Secure web
SCWCD : Secure web
 
SCWCD : Session management : CHAP : 6
SCWCD : Session management : CHAP : 6SCWCD : Session management : CHAP : 6
SCWCD : Session management : CHAP : 6
 
SCWCD : Handling exceptions : CHAP : 5
SCWCD : Handling exceptions : CHAP : 5SCWCD : Handling exceptions : CHAP : 5
SCWCD : Handling exceptions : CHAP : 5
 
SCWCD : The servlet container : CHAP : 4
SCWCD : The servlet container : CHAP : 4SCWCD : The servlet container : CHAP : 4
SCWCD : The servlet container : CHAP : 4
 
SCWCD : Servlet web applications : CHAP 3
SCWCD : Servlet web applications : CHAP 3SCWCD : Servlet web applications : CHAP 3
SCWCD : Servlet web applications : CHAP 3
 
SCWCD : The servlet model : CHAP : 2
SCWCD  : The servlet model : CHAP : 2SCWCD  : The servlet model : CHAP : 2
SCWCD : The servlet model : CHAP : 2
 
SCWCD : The web client model : CHAP : 1
SCWCD  : The web client model : CHAP : 1SCWCD  : The web client model : CHAP : 1
SCWCD : The web client model : CHAP : 1
 
SCWCD : Web tier design CHAP : 11
SCWCD : Web tier design CHAP : 11SCWCD : Web tier design CHAP : 11
SCWCD : Web tier design CHAP : 11
 
Ejb3 1-server-setup fr
Ejb3 1-server-setup frEjb3 1-server-setup fr
Ejb3 1-server-setup fr
 
Axis2 clients fr
Axis2 clients frAxis2 clients fr
Axis2 clients fr
 

Ejb3 3-message-driven-beans fr

  • 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 d'envoyer Messages textes 2
  • 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 d'attente 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 d'appel de méthode et oublier ») -- Basé sur les interfaces •Le client peut envoyer des données, mais ne • EJB est l'interface en plus classe peut pas obtenir la valeur de réponse concrète -Non basée sur des interfaces • Le client fait référence à l'interface • 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 d'attente) 4
  • 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 d'attente dans InitialContext  Crée session et MessageProducer  Envoie à plusieurs reprises TextMessage, ObjectMessage, ou d'autres type de message  jndi.properties Même que dans la section sur les sessions de beans 5
  • 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 d'octets)  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 d'un type de message 6
  • 7. MDB pour les messages texte 7
  • 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 à l'annotation, mais peut être défini par programmation  destinationType est généralement javax.jms.Queue  destination est la file d'attente / YourQueueName Mettez YourQueueName-service.xml dans src  Contient spécifique au serveur d'informations (voir la diapositive à venir) Déployer application serveur  cliquez R- sur serveur, Ajouter / Supprimer des projets, de démarrer le serveur 8
  • 9. projet EJB faire des projets  Pick a name  JBoss en tant que cible d'exé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 l'ajouter à 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
  • 12. Les clients qui s'attendent à des BMD Messages textes 12
  • 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 d'envoyer 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
  • 15. Remote Desktop Client (Suite) 15
  • 17. Standalone Client à distance: Déploiement Messages (projet EJB)  Déployé à JBoss.  SimpleQ-service.xml a JBoss spécifiques d'info Messages-client (Dynamic Web Project)  Pas encore déployé sur n'importe quel serveur.  jndi.properties a JBoss spécifiques d'info 17
  • 18. Standalone Client à distance: Résultats (JBoss server.log) 18
  • 20. Résumé serveur  Implementer MessageListener Remplacer onMessage, casté l’ argument à TextMessage, extrait message String avec getText Étiquette avec@MessageDriven Habituellement définissent activationConfig à l'annotation  Mettez YourQueueName-service.xml dans src Client  classe Java Obtenez InitialContext, rechercher ConnectionFactory & Queue Faire Connection, Session et MessageProducer Utilisez MessageProducer d'envoyer Messages textes  Mettez jndi.properties dans src 20