nouveautés et limitations de jms 2

10
Nouveautés et limitations de JMS 2 Florian Beaufumé 11/2015

Upload: florian-beaufume

Post on 20-Jan-2017

383 views

Category:

Technology


0 download

TRANSCRIPT

Page 1: Nouveautés et limitations de JMS 2

Nouveautés et limitationsde JMS 2

Florian Beaufumé11/2015

Page 2: Nouveautés et limitations de JMS 2

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

• "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

• 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

• 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

• 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

• 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

• 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

• 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

Page 10: Nouveautés et limitations de JMS 2

[email protected]

www.linkedin.com/in/fbeaufumefr.slideshare.net/fbeaufume

Merci