在將WARC條目轉換爲每個條目的自定義文件格式的Camel路由中,我需要解析一些可以找到原始HTTP標頭的日期。如何使用Camel解析頭中的日期?
我在輸入標題中有一個由HTTP服務器提供的日期(和最後修改日期)(通常依賴RFC2616中描述的格式,即類似於Wed, 09 Apr 2014 11:59:14 GMT
)。
我需要在輸入標題中解析這個日期,並將其作爲Date
存儲在輸出標題中。
我想:
<setHeader headerName="weblab:dct:modified">
<simple resultType="java.util.Date">${headers.ArchiveRecordPayloadHeader['Last-Modified']}</simple>
</setHeader>
這崩潰說,日期Wed, 09 Apr 2014 11:59:14 GMT
是不正確的格式。
我也試過:
<setHeader headerName="weblab:wlp:hasGatheringDate">
<simple resultType="java.util.Date">${date:in.header.ArchiveRecordPayloadHeader['Date']:EEE, dd MMM yyyy HH:mm:ss zzz}</simple>
</setHeader>
不過是崩潰說,它不能in.header.ArchiveRecordPayloadHeader['Date']
找到一個日期。看起來這是爲了格式化日期而不是解析。
有什麼想法? 預先感謝您
如果你想要做的是將日期轉換字符串轉換爲日期對象,爲什麼不將該責任推送到路由輸出的接收方?那麼你不必爲路由本身編寫任何代碼。 – Ralf
爲什麼不使用spel,mvel或groovy?他們比簡單的語言提供更多的選擇。 –
@Ralf Receiver需要一個Date並且不在我的責任範圍內,Producer提供一個String並且不在我的職責範圍內,我打算直接在路由中執行此操作 – YMomb