[英]Spring Integration : Transformer : file to Object
我是Spring Integration的新手,我試圖讀取一個文件並將其轉換為一個自定義對象,該對象必須發送到jms中,並包裝在jms.Message中。 所有這些都必須使用注釋來完成。
我正在使用以下方法從目錄中讀取文件。
@Bean
@InboundChannelAdapter(value = "filesChannel", poller = @Poller(fixedRate = "5000", maxMessagesPerPoll = "1"))
public MessageSource<File> fileReadingMessageSource() {
FileReadingMessageSource source = new FileReadingMessageSource();
source.setDirectory(new File(INBOUND_PATH));
source.setAutoCreateDirectory(false);
/*source.setFilter(new AcceptOnceFileListFilter());*/
source.setFilter(new CompositeFileListFilter<File>(getFileFilters()));
return source;
}
下一步是將文件內容轉換為發票對象(假定)。 我想知道什么是我的轉換器的傳入消息類型以及如何轉換它。 您能在這里幫忙嗎? 我不確定傳入的數據類型是什么,轉換后的對象類型應該是什么(應該包裝在Message中嗎?)
@Transformer(inputChannel = "filesChannel", outputChannel = "jmsOutBoundChannel")
public ? convertFiletoInvoice(? fileMessage){
}
有效負載是一個File
( java.io.File
)。
您可以讀取文件並輸出所需的任何內容( String
, byte[]
, Invoice
等)。
或者,您可以使用某些標准轉換器(例如FileToStringTransformer
, JsonToObjectTransformer
等)。
JMS適配器會將對象轉換為TextMessage
, ObjectMessage
等。
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.