2015-10-07 27 views

回答

0

如果您不想破壞當前模式,我會建議使用直接端點故障轉移。免責聲明:我通常使用DSL,所以語法可能稍微偏離。

<from uri="direct:xyz"> 
    <loadBalance> 
     <failover maximumFailoverAttempts="2" roundRobin="false"> 
     <exception>java.net.NoRouteToHostException</exception> </failover> 
     <to uri="direct:primary"/> 
     <to uri="direct:secondary"/> 
    </loadBalance> 
</from> 

<from uri="direct:primary"> 
    <errorHandler id="noErrorHandler" type="NoErrorHandler"/> 
    <to uri="http://URi1"/> 
    //Response handling 
</from> 

<from uri="direct:secondary"> 
    <errorHandler id="noErrorHandler" type="NoErrorHandler"/> 
    <to uri="http://URi2"/> 
    //Response handling 
</from> 
+0

感謝您的回覆!在這種情況下,即使URi1不起作用,URi1也將始終收到請求 – zied123456

+0

如果URI1引發異常並且未找到錯誤處理程序,則錯誤將傳播回故障轉移負載均衡器並轉到第二個URI。不幸的是,Camel沒有我見過的「粘性」負載均衡器,但是您可以始終實現自己的負載均衡器或使用網絡負載均衡器來從應用程序隱藏URI故障。 –

相關問題