2010-08-24 38 views
2

Je ne vois pas vraiment de différence entre un routeur multidiffusion et un routeur liste-destinataire-statique. Pourquoi devrais-je utiliser l'un sur l'autre?Mule: Quelle est la différence entre un routeur multidiffusion et un routeur liste-destinataire-statique?

Selon Mule-2.x user guide

Liste des destinataires

le routeur liste des destinataires peut être utilisé pour envoyer le même événement à plusieurs points de terminaison sur le même point final ou pour mettre en œuvre le comportement bordereau de routage où la destination suivante de l'événement est déterminée à partir des propriétés d'événement ou de la charge utile. Mule fournit une liste abstraite Récipiendaire mise en œuvre org.mule.routing.outbound.AbstractRecipientList qui fournit une base de thread-safe pour implémentations spécialisées. Mule également fournit une liste de destinataires statiques que prend une liste configurée de points de terminaison à partir de l'événement en cours ou statiquement déclarée sur le point de terminaison.

<outbound> 
    <static-recipient-list-router> 
     <payload-type-filter expectedType="javax.jms.Message"/> 
     <recipients> 
       <spring:value="jms://orders.queue"/> 
       <spring:value="jms://tracking.queue"/> 
     </recipients> 
    </static-recipient-list-router> </outbound> 

Multicast Router

Le routeur Multicast peut être utilisé pour envoyer le même événement sur plusieurs points de terminaison . Lors de l'utilisation de ce routeur, il faut prendre soin de configurer les bons transformateurs sur les points d'extrémité à gérer le type de source d'événement.

<outbound> 
    <multicasting-router> 
     <jms:endpoint queue="test.queue" 
transformer-refs="StringToJmsMessage"/> 
     <http:endpoint host="10.192.111.11" 
transformer-refs="StringToHttpClientRequest"/> 
     <tcp:endpoint host="10.192.111.12" 
transformer-refs="StringToByteArray"/> 
     <payload-type-filter expectedType="java.lang.String"/> 
    </multicasting-router> </outbound> 

Rappelez-vous que des précautions doivent être prises pour assurer que le message acheminé est transformé en un format que le point final comprend.

Répondre

3

droite de la bouche du cheval (Mule in Action, par David Dossot, John D'Emic, p. 98..100)

Le routeur statique-liste des destinataires vous permet d'envoyer simultanément le même message à plusieurs points d'extrémité. Vous utiliserez généralement une liste de destinataires statique lorsque chaque point de terminaison utilise le même transport. C'est souvent le cas avec les points de terminaison VM et JMS.

Utilisez les listes de destinataires statique lors de l'envoi du même message aux terminaux utilisant les transports identiques

Le routeur multidestinataire est similaire à la liste des destinataires statique qu'il envoie simultanément le même message à travers un ensemble de terminaux sortants. La différence est que le routeur de multidiffusion est utilisé lorsque la liste des terminaux contient différents types de transports.

Utilisez le routeur de multidiffusion lors de l'envoi du même message aux terminaux utilisant différents moyens de transport

0

Voilà comment je comprends ces:

Le routeur statique-liste des destinataires envoie la charge utile à chaque destinataire dans l'ordre qu'ils sont répertoriés. Cela vous donne la possibilité de modifier la charge utile avant de passer à l'extrémité suivante. Cela vous donne également la possibilité d'arrêter le traitement en cas d'erreur.

Le routeur de multidiffusion envoie la même charge utile à tous les points de terminaison en même temps. Vous ne pourrez pas modifier la charge utile pour chaque point de terminaison. Vous ne pourrez pas empêcher le traitement d'autres points de terminaison si l'un des points de terminaison échoue.