使用Spring表达式语言

时间:2015-11-26 19:37:19

标签: spring spring-el

当我的FTP mput传输成功完成后,我想重命名本地目录中的文件。为此,我需要使用PropertyPlaceholderConfigurer的本地目录路径。但这似乎并没有起作用。请问你能推荐合成语来扩大房产的价值吗? $ {local.request.dir}表示目录路径,如/ home / jainr / REQUEST。

<int-ftp:request-handler-advice-chain>
<bean id="requestFileRename" class="org.springframework.integration.handler.advice.ExpressionEvaluatingRequestHandlerAdvice">
    <property name="trapException" value="true" />
    <property name="onSuccessExpression" value="T(org.apache.commons.io.FileUtils).moveFile(new java.io.File(#{${local.request.dir}} + '/' + headers['RequestFileName']), new java.io.File(#{${local.request.dir}} + '/' + headers['RequestFileName'] + '.processed'))" />
</bean>
</int-ftp:request-handler-advice-chain>

1 个答案:

答案 0 :(得分:2)

您需要从SpEL角度将已解析的占位符定义为文字...

new java.io.File('${local.request.dir}/' + headers...

注意我还删除了#{...} - 即初始化时间SpEL - 这是运行时SpEL。

将来,而不是像...这样的陈述。

  

但这似乎没有用。

...提供错误消息和/或堆栈跟踪。