我試圖攔截一個端點,其中URI的值與交換頭中的某些信息相匹配。動態攔截駱駝端點
假設我在標題中有一個字段叫做DatabaseName。我想強制執行一個特定的路由只寫入標題中指定的數據庫。
我可以這樣做嗎?
interceptSendToEndpoint("mock:${in.header.DatabaseName}")
我試過了,但它似乎沒有工作。我有什麼選擇?
我還想到做這樣的事情的:
interceptSendToEndpoint("mock:*").when(...)?
但在這種情況下,我不知道如果我能在表達時引用截獲節點的URI。
感謝
謝謝。這是我在你的輸入之後嘗試的。 (簡單的(「$ {header.CamelInterceptedEnd point} == $ {in.header.DatabaseName}」))。skipSendToOriginalEndpoint()。(「mock:detour 「).tran sform(常量(」路由中斷Bye世界「));'然後我有一個腳本看起來像這樣:'from(」direct:start「)。setHeader(」DatabaseName「,constant(」mock:/ /delta").to("mock:detournement").transform(constant("Route not interrupted「))」,headers)'。然而,我做了什麼,我繼續擊中「Route not interrupted」。任何線索? – Klaus
發現問題。必須使用stop()來終止攔截的路線。 – Klaus