Antwort

0

Wenn Sie 0.5.x verwenden, können Sie dies mithilfe der Load-Balancer-Abstraktion erreichen. Das folgende Beispiel zeigt einen Weg, es zu tun (es verwendet wiederholen(), aber man kann es mit retryWhen ersetzen())

https://github.com/ReactiveX/RxNetty/tree/0.5.x/rxnetty-examples/src/main/java/io/reactivex/netty/examples/http/loadbalancing

Wenn Sie 0.4.x verwenden Sie diese selbst auf der Spitze bauen RxNetty.

+0

Danke für die Antwort. Nehmen wir an, ich erstelle ein beobachtbares o1, das eine Verbindung zu VIP v1 herstellt, und abonniere einen Beobachter ob1, nachdem ich abonniert habe, ist der Verbindungsversuch fehlgeschlagen, ich möchte es erneut versuchen, aber mich mit einem anderen VIP v2 verbinden und trotzdem vom selben Beobachter beobachtet werden ob1. Hier ist, was ich gerade versucht habe. (a) In Func1 wurde erneut versuchtWenn ich ein neues beobachtbares o2 erzeuge, um mich mit VIP v2 zu verbinden und ob1 bis o2 zu abonnieren. (b) in der Mitte, während ich eine leere beobachtbare (Flatmap Observable ) zurück, so dass es keine Wiederholung für o1 geben wird. Aber ich komme immer noch auf Fehler, wie resovle das? danke –

+0

Folgen Sie oben. Hier ist das Ergebnis (1) auf Draht, alles ist korrekt, 2 schreibt und 1 erhalten. (2) Der Beobachter erhält eineNext- und eine OnCompleted-Benachrichtigung, was GUT ist (3) Mein Beobachter erhält immer noch einenError-Aufruf mit der Ausnahme, die SCHLECHT ist. Wie kann ich aufhören, die Ausnahme auszugeben? Danke –

+0

Ich versuchte alternative Möglichkeit, verschiedene VIP im Aufzug zu versuchen, die besser funktioniert (1) Handle die IO-Ausnahme in onError vor dem Übergang in Kind Beobachter (2) Der Beobachter ist praktisch, die durch den Parameter übergeben wird, so dass verkettet werden kann zu einem anderen beobachtbaren. Weiß nicht, was der Nebeneffekt ist, irgendeinen Ratschlag? Vielen Dank. –

Verwandte Themen