Nouveautés et limitations de JMS 2
-
Upload
florian-beaufume -
Category
Technology
-
view
383 -
download
0
Transcript of Nouveautés et limitations de JMS 2
![Page 1: Nouveautés et limitations de JMS 2](https://reader035.fdocuments.net/reader035/viewer/2022081808/5881a2591a28ab1a398b58e9/html5/thumbnails/1.jpg)
Nouveautés et limitationsde JMS 2
Florian Beaufumé11/2015
![Page 2: Nouveautés et limitations de JMS 2](https://reader035.fdocuments.net/reader035/viewer/2022081808/5881a2591a28ab1a398b58e9/html5/thumbnails/2.jpg)
Florian Beaufumé• Architecte logiciel Java et web
• Freelance
• [email protected]• www.adeliosys.fr
• www.linkedin.com/in/fbeaufume
• fr.slideshare.net/fbeaufume
![Page 3: Nouveautés et limitations de JMS 2](https://reader035.fdocuments.net/reader035/viewer/2022081808/5881a2591a28ab1a398b58e9/html5/thumbnails/3.jpg)
• "Java Message Service"• JMS 1.1 dans J2EE 1.4, JMS 2 dans Java EE 7• Une API Java d'émission/réception de messages• Asynchrone• Transactionnel• Types de messages : texte, map, bytes, stream, object
métier• Exemple de virement bancaire :
JMS
Foo.war Destination Bar.war
BD BD
Tx1 Tx2
Débit Crédit
![Page 4: Nouveautés et limitations de JMS 2](https://reader035.fdocuments.net/reader035/viewer/2022081808/5881a2591a28ab1a398b58e9/html5/thumbnails/4.jpg)
• Point-to-point :
• Publish-subscribe :
• Souscription durable vs non-durable
Modèles de communication
Sender Queue Receiver
Publisher TopicSubscriber
Subscriber
![Page 5: Nouveautés et limitations de JMS 2](https://reader035.fdocuments.net/reader035/viewer/2022081808/5881a2591a28ab1a398b58e9/html5/thumbnails/5.jpg)
• Plusieurs topologies possibles, de simple :
• A complexe:
Déploiement
Serveur d'applicationServeur JMS
Foo.war
Serveur d'application 1Serveur JMS
Foo.war Bar.war
Serveur d'application
2
Acme.warMain.jar
![Page 6: Nouveautés et limitations de JMS 2](https://reader035.fdocuments.net/reader035/viewer/2022081808/5881a2591a28ab1a398b58e9/html5/thumbnails/6.jpg)
• API simplifiée :
• Nouvelles méthodes :
• ConnectionFactory par défaut :• Sous "java:comp/DefaultJMSConnectionFactory"
Nouveautés
![Page 7: Nouveautés et limitations de JMS 2](https://reader035.fdocuments.net/reader035/viewer/2022081808/5881a2591a28ab1a398b58e9/html5/thumbnails/7.jpg)
• ConnectionFactory et Destination par annotation :
• Envois asynchrones (Java SE ou EE Client) :
• Shared subscriptions :• Permet de partager la charge de réception de messages• Mais pas de broadcast
Nouveautés, suite
![Page 8: Nouveautés et limitations de JMS 2](https://reader035.fdocuments.net/reader035/viewer/2022081808/5881a2591a28ab1a398b58e9/html5/thumbnails/8.jpg)
• Poison messages :
• Soigner le gestion d'erreur, surtout les RuntimeException• Rediriger le message
• Conversations :• Utiliser correlationId ou une queue temporaire• Attention aux transactions
Difficultés
Queue Receiver Ex
![Page 9: Nouveautés et limitations de JMS 2](https://reader035.fdocuments.net/reader035/viewer/2022081808/5881a2591a28ab1a398b58e9/html5/thumbnails/9.jpg)
• Nombre de livraisons d'un message sur topic :• Pour une application en cluster, une réception par instance
ou par cluster ?
• Cycle de vie d'une souscription durable de MDB hors spécification :• Messages perdus lors d'un redéploiement ?
Limitations