Я хотел бы добиться следующего:
- Учитывая список URL-адресов (изображения в формате png), загрузите файлы в параллельных процессах (разделите)
- Преобразование формата файла для загруженных файлов в параллельных процессах (например, png2jpg в.png из.jpg)
- Подождите, пока все файлы будут преобразованы, затем извлеките все файлы в одно место и выполните над ними последнюю операцию (например, создайте гигантское мозаичное изображение из всех изображений).
Преобразование изображения приведено в качестве примера. Моя обработка на самом деле более сложная, но я попытался выполнить требование, что мне нужно разделить обработку файлов и что мне нужно выполнить окончательную обработку после операции соединения.
У меня есть базовое представление о том, как связаны каналы Spring XD (аналогично каналам оболочки). Есть сплиттер и агрегатор. Я ожидаю, что смогу передавать файлы как объекты в следующий канал.
Однако как бинарные объекты, коллекции и операции разделения/агрегирования сочетаются в XD?
Для меня было бы очень полезно, если бы вы могли предоставить мне рабочий пример (например, вместо преобразования для простоты запускать задачу оболочки «cat file1 file2 > outputfile»).
[1] https://github.com/spring-projects/spring-xd/wiki/Processors#splitter