Файловый приемник без объединения в Spring-XD?

В Spring-XD файл источник обнаруживает новые файлы во входном каталоге и передает их содержимое через конвейер.

Существует ли аналог приемника, который создает отдельные файлы результатов в выходном каталоге (например, с исходными именами файлов), а не один файл, к которому были добавлены все результаты, http://docs.spring.io/spring-xd/docs/current/reference/html/#file-sink: "Приемник файлов использует имя потока в качестве имени по умолчанию для создаваемого файла и помещает файл в каталог /tmp/xd/output/."?


person rmv    schedule 06.07.2015    source источник


Ответы (2)


Прокрутите вниз до параметров в том документе, на который вы ссылаетесь.

Используйте 1_.

Если вы используете mode=contents; исходное имя файла доступно в заголовке file_name:

--nameExpression=headers[file_name]

mode=lines в настоящее время не фиксирует имя файла (это будет исправлено в следующем выпуске).

Если вы используете mode=ref, вам нужно установить заголовок.

person Gary Russell    schedule 06.07.2015
comment
Когда я пытаюсь создать конвейер файл-файл с помощью 'stream create --name test --definition file --mode=contents | b:file --nameExpression=headers[file_name] --deploy' с spring-xd-2.0.0.BUILD-20150706.070103-39-dist я получаю следующее исключение на стороне сервера: java.lang.IllegalArgumentException: не удалось разрешить заполнитель 'dirExpression' в строковом значении ${dirExpression} - person rmv; 07.07.2015
comment
Я добавил рабочий пример с дополнительным параметром --dirExpression выше. Кстати: очень хорошее программное обеспечение, большое спасибо! - person rmv; 07.07.2015

Минимальный рабочий пример

Весной-XD

stream create --name test --definition "file --mode=contents | b:file --binary=true --dirExpression='''/tmp/out''' --nameExpression=headers[file_name]" --deploy

чем

echo "1111"  >  /tmp/xd/input/test/file1.txt
echo "2222"  >  /tmp/xd/input/test/file2.txt

приводит к

ll  /tmp/out/
>  
>  -rw-rw-r--  1 rmv  rmv      5 Jul  7 10:19 file1.txt
>  -rw-rw-r--  1 rmv  rmv      5 Jul  7 10:19 file2.txt
person rmv    schedule 09.07.2015