2017-05-08 83 views
0

這是我的場景。我有一個現有的處理應用程序,當前正在使用camel將ActiveMQ消息從隊列發送到Java應用程序進行處理,通常有多個應用程序在不同節點上運行。進行java調用以確定Apache Camel條件路由

我需要能夠只將消息路由到一個應用程序實例時,該實例有能力處理它。應用程序bean本身意識到其容量狀態。 「testCapacity」方法返回一個表示可用容量的布爾值。

據我已搜查,我可以試圖找到一種方法,我的用作決策點到豆本身提出的「當」條件。

這甚至可能,而且如果可能的話如何才能實現這一目標。

<route> 
    <from uri="activemq:queue:myQueue" /> 
    <when> 
     <xpath>idontknowwhattoputhere("bean:javaBean?method=testCapacity")</xpath> 
     <to uri="bean:javaBean?method=doThings" /> 
    </when> 
</route> 
+1

挖成豆語言http://camel.apache.org/bean-language.html –

回答

3
<route> 
    <from uri="activemq:queue:myQueue" /> 
    <when> 
     <simple>${bean:javaBean?method=testCapacity}</simple> 
     <to uri="bean:javaBean?method=doThings" /> 
    </when> 
</route> 
+0

,完美的工作! – Richard