1
我有一個駱駝路由,將隊列中的消息出隊,將它發送給bean進行處理,然後將消息排入不同的隊列。駱駝EIP篩選重複項
我想消除第二個隊列上的「重複消息」。 Camel是否有任何端點,處理器,EIP等,我可以配置爲在路由中重複消除消息,然後將它們發送到第二個隊列?
例子:
<route id="myRoute">
<from uri="{{queue-1-uri}}" />
<to uri="bean:myBean?method=process" />
<!-- How to dedupe right here??? -->
<to uri="{{queue-2-uri}}" />
</route>
更新:也許是這樣的:
<route id="myRoute">
<from uri="{{queue-1-uri}}" />
<to uri="bean:myBean?method=process" />
<filter>
<method>what goes here???</method>
<to uri="{{queue-2-uri}}" />
</filter>
</route>
每拉爾夫的建議,我可以再裏面<method></method>
那又用緩存來保留郵件中引用一個bean記憶。
之所以這樣說,新豆被稱爲FilterBean
,它在它有一個dedupe()
方法:如何聯結起來在Spring XML,一點豆需要實現從路線裏面叫什麼類/接口?
你可以使用這樣的EHCache或memcached的緩存,它支持分佈式部署作爲後端服務的[郵件篩選器] (http://camel.apache.org/message-filter.html)。 – Ralf
謝謝@Ralf(+1) - 請參閱我的更新。關於如何爲FilterBean實現什麼API /接口以及如何在Spring XML中進行連接的任何想法?再次感謝! – AdjustingForInflation