Возникла проблема в кодировке файлов - UTF-8/16 с использованием преобразователя файл-строка - PullRequest
0 голосов
/ 17 сентября 2018

В весеннем интеграционном приложении aws файлы направляются из исходной папки в целевую корзину S3 с помощью s3-outbound-gateway.Хотел бы закодировать файл UTF-8/16, используя преобразователь file-to-string и загрузить в целевое ведро.Но выходной файл, помещенный в целевое ведро, не является кодировкой, и приложение также не выдает ошибку.

Есть ли что-то упущенное здесь и какой-либо другой способ добиться этого?

 <file:file-to-string-transformer input-channel="fileswithoutencoding" output-channel="filesOutS3Transformer" charset="UTF-8"/>
      <!-- added this line -->
<integration:transformer input-channel="filesOutS3Transformer" output-channel="filesS3GateWay" expression="payload.bytes" />
    <int-aws:s3-outbound-gateway id="s3File"
            request-channel="filesS3GateWay"
            reply-channel="filesS3ChainChannel"
            transfer-manager="transferManager"
            bucket-expression = "headers.TARGET_PATH"
            key-expression="headers.file_name"
            command="UPLOAD">
            <int-aws:request-handler-advice-chain>
                <ref bean="retryAdvice" />
            </int-aws:request-handler-advice-chain>
        </int-aws:s3-outbound-gateway>

маршрутизация к локальному файлу: файл кодируется в формате UTF-8 только с использованием преобразователя файла в строку, хотя кодировка 8/16/32.

<integration:chain id="filesOutChain" input-channel="filesOut">
    <integration:transformer expression="headers.FILE"/>
    <file:file-to-string-transformer charset="UTF-16"/>
<!-- though bytes conversion is not required,just added for testing purpose -->
    <integration:transformer expression="payload.bytes"/>
        <file:outbound-gateway id="fileMover" 
            auto-create-directory="true"
            directory-expression="headers.TARGET_PATH"
            mode="REPLACE">
            <file:request-handler-advice-chain>
                <ref bean="retryAdvice" />
            </file:request-handler-advice-chain>
        </file:outbound-gateway>    
        <integration:gateway request-channel="filesOutChainChannel" error-channel="errorChannel"/>
    </integration:chain>
...