所以也許我錯過了很明顯的東西,這是非常可能的!Java中的Apache Camel URI過濾器DSL
但是,我想遷移從Spring到Java的路線。這條路線是這樣的:
<bean id="myFilter" class="my.filter.MyFilter />
<route>
<from uri="ftp://someplace?filter=#myFilter" />
<to uri=(....) />
</route>
當轉換到Java DSL我認爲以下將是等效的,但事實並非如此。我得到了不同於我原本想要的行爲:
MyFilter m = new MyFilter();
.........
from("ftp://someplace")
.filter().method(m)
.to(....)
;
上面的方法似乎是從FTP服務器中檢索文件,然後逐個進行篩選。
鑑於春天的方式,與URI中的過濾器選項,似乎篩選出我不想第一的所有結果,然後繼續其快樂的小路。
有沒有一種方法可以將過濾器的功能重新創建爲Java DSL中URI的一部分?
我假設我必須以某種方式聲明一個bean以便能夠使用它,但我發現的文檔似乎並不清楚我如何實現這一點。
嗯,也許我不清楚,對不起。但我的意思是我有一個專門爲路由過濾的類(它根據文件的時間戳進行過濾,再加上一些額外的內容),並且我想引用該類作爲用於在URI中進行過濾的類 – Jsmith
更新了我的答案。 –
所以也許我做錯了,但這是我不斷髮生的問題。我從'(「ftp:// x?filter =#myFilter」)'',但總是以''無法將字符串轉換爲所需類型的GenericFileFilter值爲#myFilter'的錯誤。這是關於什麼的? – Jsmith