文件接收器和文件名表达式的问题

Issue with file sink and filename expression

正在尝试在 spring-xd:

中设置简单的文件复制过程
 stream create --name mystrea --definition "file --dir=/path/source
--fixedDelay=5 | sink:file --dir=/path/dest --binary=true 
--name=headers['file_name']"

这似乎是在 dest 文件夹

中的文件头['file_name'].out 中创建并附加 fils

查看sink:file定义

<file:outbound-channel-adapter id="files"
            mode="${mode}"
            charset="${charset}"
            directory="${dir}"
            filename-generator-expression="'${name}' + '${extensionWithDot}'"/>

我看到它在名称周围加上了 '' 导致它不被评估。

除了创建新的 sink:simplefile 模块之外,还有什么建议可以满足我的要求吗?我是不是漏了什么

是的,标准接收器并非设计用于执行您尝试执行的操作(传入文件名的表达式)。

我们应该添加替代方案 属性 --fileNameExpression=... 或类似的。

与此同时,你是对的,你需要一个自定义水槽(或修改标准水槽)。

我为此增强功能创建了 JIRA Issue