2010-03-13 6 views
2

Quelles sont les utilisations courantes et utiles de JMS et des beans gérés par message?JMS - Utilisations courantes

+0

Je lis un guide d'étude SCBCD et comprends que je ne l'utilise jamais. –

+1

Commentaire ridicule. La messagerie est fondamentale dans de nombreuses grandes entreprises (par exemple, la finance). –

+0

Merci) je n'ai pas encore travaillé à finace. Mais à l'avenir qui sait ... (= –

Répondre

10

Communication asynchrone: l'appelant revient rapidement et peut poursuivre son travail (sans créer de nouveau fil) et le message peut être traité ultérieurement. Les messages peuvent être stockés, et même lorsque le serveur tombe en panne, ils peuvent continuer à être traités, une fois le serveur redémarré. Les messages peuvent être distribués sur plusieurs machines (éventuellement basées sur des règles).

Les appelants et les appels peuvent être découplés (l'appelant n'a pas besoin de savoir, qui va consommer le message et combien de consommateurs de messages il y a).

Il peut avoir d'énormes avantages de performance par rapport à la communication synchrone. Un tel middleware de messagerie peut être crucial pour les services qui doivent gérer beaucoup de messages par seconde (pensez à Twitter par exemple). Mais ce n'est pas limité aux messages lisibles par l'homme.

+0

Très bonne réponse! +1 – Pindatjuh

+0

Pensez-vous que les utilisations de JMS et MDB sont encombrantes? Ou c'est seulement mon opinion –

+0

Cela dépend vraiment de ce que vous voulez/devez faire. L'encombrement de l'utilisation peut être un petit facteur par rapport aux différences fonctionnelles de toute façon.JMS (avec ou sans MDB) ne devrait certainement pas être le choix par défaut à utiliser pour tout.Tout dépend de si vous avez besoin de la fonctionnalité ou non.BTW, par exemple HornetQ fournit une API alternative, qui est un peu moins "encombrante" –

5

Une autre raison de choisir JMS et MDB est la livraison garantie. Un appel point à point synchrone échoue si le récepteur est indisponible, mais une file d'attente peut être configurée pour garantir la livraison, traiter les tentatives ou les échecs transactionnels, utiliser les files d'attente pour les messages "poison", etc. deux modèles de transmission intégrés dans JMS: point à point utilisant des files d'attente et publier/souscrire à l'aide de sujets. Chacun a ses propres avantages. L'inconvénient des JMS et des MDB est la rapidité de la réponse. Vous aimerez peut-être le découplage, mais si vous bloquez et attendez une réponse, elle sera certainement plus lente qu'une invocation de méthode distante directe, car il y a deux trajets réseau impliqués au lieu d'un seul.