我們擁有發佈系統中發生的事件的ActiveMQ。該項目涉及用戶將實體添加到他們的監視列表中,並且每當發生這些實體上的事件時,我希望將電子郵件發送給感興趣的參與者。關於動態Apache駱駝路由/上下文的設計問題
用例粗略地翻譯爲某個人在目錄上的產品信息頁面上表達興趣,並且每當該產品發生任何活動時都會發送一封電子郵件(價格下降,存在積極評論等) 。我將這種交互模擬爲駱駝路線。
因此,舉例來說,如果用戶說,每當這個產品的評級等於5發郵件給我,那麼下面的路線將被添加到駱駝背景:
from("activemq:topic:events.product.save").filter().xpath("/object[<object id>]/rating").isEqualTo("5").to("email:<user's email>")
同樣,如果用戶希望得到通知時對產品有新的評論,會創建另一條路線等等。這可能最終會在每個用戶開始添加感興趣的手錶時創建數千條路線。
,我有一些問題是:
這是創建動態路由的一種可接受的方式?我正在考慮的一個選擇是使用收件人列表。但是我還沒有能夠想出一個解決方案,將消息路由到返回收件人列表的bean。例如對於上面解釋的情況,bean是否有一堆if-else來查看要返回哪個收件人列表?
camelcontext有一個方法來從XML文件加載路由,但沒有方法來堅持現有的路由。什麼是最簡單(和有效)的方式來堅持這些動態創建的路線? camel-users list中的此線程總結了我的請求。
感謝郵件。你給了我一些信息和指示來咀嚼。欣賞它。 – calvinkrishy 2011-06-15 01:44:16