如何将byte []传递到输入通道-文件到字节转换器?

时间:2018-08-29 14:27:56

标签: java spring spring-boot spring-integration spring-integration-aws

我的spring-boot-integration应用程序可以在多个服务器(节点)上运行,但是它们都应该读取一个公共目录。现在,我编写了一个自定义的锁柜,该锁柜对文件进行了锁定,以便其他任何实例都可以无法处理相同的文件。所有spring配置均已在xml中完成。

应用程序已获取锁定,但无法读取锁定文件的内容。

java.io.IOException: The process cannot access the file because another process has locked a portion of the file

按照表格中的建议,我们只能通过ByteBuffer来访问锁定的文件内容。

因此尝试使用file-to-bytes-transformer将文件转换为字节,并作为输入传递到出站网关。但是实例没有开始。

有什么建议吗?

<file:file-to-bytes-transformer input-channel="filesOut" output-channel="filesOutChain"/>
       <integration:chain id="filesOutChain" input-channel="filesOutChain"> 
        <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="filesChainChannel" error-channel="errorChannel"/>
    </integration:chain>

0 个答案:

没有答案