Mule: Was ist der Unterschied zwischen einem Multicast-Router und einem statisch-Empfänger-list-Router?

StackOverflow https://stackoverflow.com/questions/3561096

  •  01-10-2019
  •  | 
  •  

Frage

Ich kann nicht wirklich einen Unterschied zwischen einem Sammels-Router sehen und einem statischen-Empfänger-list-Router. Warum sollte ich einen über den anderen?

Nach Mule-2.x Benutzerhandbuch

  

Empfängerliste

     

die Empfängerliste Router kann verwendet werden,   das gleiche Ereignis an mehr senden   Endpunkte über den gleichen Endpunkt oder   Routing-Slip-Verhalten implementieren, wo   das nächste Ziel für die Veranstaltung ist   von den Ereigniseigenschaften bestimmt   oder Nutzlast. Mule bietet eine abstrakte   Empfängerliste Implementierung   org.mule.routing.outbound.AbstractRecipientList   dass ein Thread-sichere Basis für   spezialisierte Implementierungen. Mule auch   bietet eine Empfängerliste Static dass   nimmt einen konfigurierten Liste der Endpunkte   aus dem aktuellen Ereignisse oder statisch   erklärte auf dem Endpunkt.

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

Router Multicast

     

Das kann Multicast-Router verwendet werden, um   Bitte senden Sie das gleiche Ereignis über mehr   Endpunkte. Bei Verwendung dieser Router Pflege   muss die richtigen konfigurieren genommen werden   Transformatoren an den Endpunkten   handhaben die Ereignisquelle Typ.

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

Beachten Sie, dass darauf zu achten sollten   sicherzustellen, dass die Nachricht weitergeleitet wird   wird in ein Format umgewandelt, dass die   Endpunkt versteht.

War es hilfreich?

Lösung

Gerade aus dem Maul des Pferdes ( Mule in Aktion von David Dossot, John D'Emic , p. 98..100)

  

Die statische-Empfänger-Liste Router können Sie gleichzeitig die gleiche Nachricht an mehrere Endpunkte senden. Sie werden in der Regel eine statische Empfängerliste verwenden, wenn jeder Endpunkt den gleichen Transport verwendet. Dies ist häufig der Fall bei VM und JMS-Endpunkten.

     

Verwenden statische Empfängerlisten, wenn die gleiche Nachricht an Endpunkten mit identischen Transporten Senden

     

Der Sammels Router ist ähnlich die statische Empfängerliste, dass sie gleichzeitig die gleiche Nachricht über eine Reihe von Outbound-Endpunkten senden. Der Unterschied besteht darin, dass der Multicast-Router verwendet wird, wenn die Endpunktliste verschiedene Arten von Transporten enthält.

     

Mit dem Sammels Router, wenn die gleiche Nachricht an Endpunkten Senden verschiedene Transporte mit

Andere Tipps

Das ist, wie ich dies verstehen:

Die statisch-Empfänger-Liste der Router die Nutzlast an jeden Empfänger in der Reihenfolge senden, dass sie aufgeführt sind. Dies gibt Ihnen die Möglichkeit, die Nutzlast, bevor Sie mit dem nächsten Endpunkt zu ändern. Dies gibt Ihnen auch die Möglichkeit, Stop-Verarbeitung im Fall eines Fehlers.

Der Multicast-Router sendet die gleiche Nutzlast an alle Endpunkte zur gleichen Zeit. Sie werden die Nutzlast nicht für jeden Endpunkt ändern können. Sie werden andere Endpunkte nicht davon abhalten können, zu verarbeiten, wenn einer der Endpunkte nicht.

Lizenziert unter: CC-BY-SA mit Zuschreibung
Nicht verbunden mit StackOverflow
scroll top