當一個SEDA組件從一個File組件中消耗時,SEDA隊列最類似於什麼?這是一個List<File>
?文件路徑的List<String>
?當一個SEDA組件從一個File組件中消耗時,正在消耗什麼?
1
A
回答
3
我前一陣子做過。在文件使用者中,文件實際上並沒有被加載,直到你觸摸到文本。文件路徑與其他一些變量一起在頭文件中傳遞。在轉換它之前,主體將包含一個org.apache.camel.component.file.GenericFile
對象。每個消息只有一個文件不是文件列表。
假設這是您正在使用,如果你有以下的路徑,工作文本文件:
<from uri="file:d:/Inbox?delay=5000&move=.donebackup/placement/${date:now:yyyyMMdd}/${file:onlyname.noext}_DONE_${date:now:yyyyMMddHHmmss}.${file:name.ext}&readLock=changed&include=.*.dl&maxMessagesPerPoll=0&sortBy=${file:length}"/>
<convertBodyTo type="java.lang.String"/>
<log message="Converted File To String:${date:now:yyyy-MM-dd HH:mm:ss} handing data to File To DB route."/>
<to uri="seda:fileToDB"/>
你的身體就包含字符串。這是由於我在路由上發送它之前將身體從org.apache.camel.component.file.GenericFile
轉換爲字符串。
但是,如果你有:
<from uri="file:d:/Inbox?delay=5000&move=.donebackup/placement/${date:now:yyyyMMdd}/${file:onlyname.noext}_DONE_${date:now:yyyyMMddHHmmss}.${file:name.ext}&readLock=changed&include=.*.dl&maxMessagesPerPoll=0&sortBy=${file:length}"/>
<to uri="seda:fileToDB"/>
,身體會不會因此加載郵件正文將在seda:fileToDB
路線上包含org.apache.camel.component.file.GenericFile
並且只包含頭文件路徑。就像我之前提到的那樣,文件不會被加載直到你使用body。
如果你有一個二進制文件的工作,你會加載身體是這樣的:那麼
byte[] filedata = exchange.getIn().getBody(byte[].class);
,身體會包含byte[]
。
如果你這樣做File file = msg.getIn().getBody(File.class);
身體將包含一個文件對象。
所以這取決於你在時間之前對身體所做的事情。如果您將其轉換爲一些適當的數據類型,它可能會包含類型,否則這將是org.apache.camel.component.file.GenericFile
這link on camel包含了一些有趣的例子。
相關問題
- 1. 從另一個端口消耗restful api
- 2. 消耗從一個單獨的庫
- 3. 從F#消耗C#事件#
- 4. 爲什麼window.open()在打開同一個文件時過度消耗?
- 5. Ruby消耗數組部分
- 6. 在python中加載一個.csv文件,消耗太多內存
- 7. 從兩個表查詢:消耗時間
- 8. WPF中的事件消耗
- 9. 在V8中,爲什麼preallocated數組消耗更少的內存?
- 10. JMS(ActiveMQ的)事件後,才另一個事件被消耗
- 11. 一個實體「完全消耗」是什麼意思?
- 12. 爲什麼一個空的WPF應用程序消耗50MB?
- 13. PHP Array正在消耗
- 14. istream_iterator消耗從流
- 15. 消耗品只能在Unity應用內購買時消耗一次
- 16. Android:View.setClickable消耗點擊事件
- 17. UIScrollView消耗觸摸事件
- 18. 從下面我的函數中消耗一個從方法
- 19. JMS消耗多個主題
- 20. RabbitMQ - 消耗多個隊列
- 21. 什麼消耗Linux中的內存
- 22. 一個函數,消耗一個小數,並返回一元
- 23. 內存消耗,同時在
- 24. C#定時器一次只消耗一個實例
- 25. 實現一個listItem onClickListener而不消耗觸摸事件
- 26. 有一個車輪聽衆專門消耗事件
- 27. 在JavaFX中消耗事件的含義是什麼
- 28. 從TextField消耗JavaFX KeyTyped事件
- 29. 在J2ME羣組聊天項目中消息的消耗
- 30. System.Threading.Timer在等待時消耗一個線程嗎?