2016-09-20 10 views
2

Мы создаем структуру папок и записываем файлы в эту новую структуру папок, используя данные в канале. Проблема заключается в том, что папка должна быть обновлена ​​/ удалена другим пользователем. Есть ли способ, с помощью которого я могу напрямую установить права доступа к папке/файлу с помощью адаптера исходящего файла SI?Разрешение на интеграцию с исходной папкой Spring

<int-file:outbound-channel-adapter id="fileLoggingAdapter" auto-create-directory="true" directory-expression="headers['FileDetails'].directory" 
      filename-generator-expression="headers['FileDetails'].fileName+'.csv'" /> 

ответ

1

Для этого в SI используется no standard ability.

Однако вы можете создать свой собственный код обработки сообщений и поместить его до своего file:outbound-channel-adapter. Это может быть, например, какой-либо трансформатор, который берет имя вашего каталога из заголовка сообщения, creates the directory with needed permissions и повторно отправляет сообщение.

0

В настоящее время невозможно установить разрешения при создании каталога.

Вы можете, однако, создать его во время запуска приложения и установить разрешения.

См. the answers to this question.

Я открыл JIRA Issue.

+0

Существует еще один трюк с «ExpressionEvaluatingRequestHandlerAdvice», когда вы можете установить разрешения после процесса файла. –

+0

Привет Гэри, создаваемые папки динамически основаны на полезной нагрузке в канале. Поэтому для меня это невозможно сделать во время инициализации контекста. – Sushant

+0

Артем, не могли бы вы рассказать мне, как использовать ExpressionEvaluatingRequestHandlerAdvice? – Sushant