2016-08-09 75 views
1

Wie können mehrere Dateien aus einem bestimmten Dateiverzeichnis mithilfe von Spring Integration Api ohne XML-Konfiguration abgefragt werden, vorzugsweise mithilfe von Java-Annotationen? Ich möchte die Liste der abgefragten Dateien abrufen und sie durchlaufen und weiter verarbeiten. Dies ist die Voraussetzung. Any Sample Code verfügbar, um diese Anforderung zu erfüllen. Danke im Voraus. Unten ist das Codefragment, das ich verwendet habe.Dateiabruf mit Spring Integration

@Bean  
    @InboundChannelAdapter(value = "fileInputChannel", poller = @Poller(fixedDelay = "60000",maxMessagesPerPoll="5"))  
public MessageSource<File> fileReadingMessageSource() {  
    txtSource = new FileReadingMessageSource(); 
    txtSource.setDirectory(inputDir); 
    txtSource.setFilter(new SimplePatternFileListFilter("*.txt")); 
    txtSource.setScanEachPoll(true); 
     return txtSource; 
} 
    @Bean  
    @Transformer(inputChannel = "fileInputChannel", outputChannel = "processFileChannel") 
     public FileToStringTransformer fileToStringTransformer() { 
      Message<File> message1 = txtSource.receive(); 
      File file1 = message1.getPayload(); 
      return new FileToStringTransformer(); 
     }  

Unabhängig von der Anzahl der Dateien im Eingabeverzeichnis ruft die Nachrichtenquelleninstanz immer nur eine Datei ab. Nicht sicher, wie es funktioniert, wenn mehrere Dateien abgerufen werden sollen.

Antwort

0

können Sie versuchen, eine task-executor zur Implementierung Hinzufügen this Beitrag Folgen für die Abfrage mehrere Dateien gleichzeitig, aber es folgt nicht der Anmerkung basierten Ansatz. Und this Post für sequenzielle Abfrage von Dateien. Und dies beinhaltet auch die Verwendung von Anmerkungen.