如何替换SpEL表达式中的字符串? [英] how to replace string in SpEL expression?

查看:772
本文介绍了如何替换SpEL表达式中的字符串?的处理方法,对大家解决问题具有一定的参考价值,需要的朋友们下面随着小编来一起学习吧!

问题描述

首先,感谢关注
i在我的spring集成项目中定义的ftp适配器,并使用 mv 命令移动ftp服务器中的文件,目录结构是:

ftp-root

----------- Directory1\

----------- ------ in\

---------------------------file.in

----------------- out \



我想移动文件文件.in ftp-root \Directory1\in\ 目录中移动 ftp-root \Directory1\\ \\ out \ .out.rpt 扩展名 ftp-root \Directory1\out\a.out

i使用 int-ftp:出站网关适配器运行 mv
$ p $ < int-ftp:outbound-gateway id =gatewayMv
session-factory =ftpSessionFactory
expression =payload.remoteDirectory +'/'+ payload.filename
request-channel =mvChannel
command =mv
rename-expression =payload.remoteDirectory +'/'+ payload.filename
reply-channel =aggregateResultsChannel/> ;

如何使用SpEL表达式替换 in 在重命名表达式选项中使用 out code> rename-expression =payload.remoteDirectory +'/'+ payload.filename.replaceFirst('in','out')

在大多数情况下,SpEL的工作方式与普通Java相似。由于 filename 字符串,您可以申请任何字符串操作。


firstly,thanks for attention
i defined ftp adapter in my spring integration project and used mv command to move files in ftp server,directory structure is:
ftp-root
-----------Directory1\
-----------------in\
---------------------------file.in
-----------------out\

i want to move file file.in in ftp-root\Directory1\in\ directory to move ftp-root\Directory1\out\ with .out.rpt extension ftp-root\Directory1\out\a.out
i used int-ftp:outbound-gateway adapter to run mv command on ftp server,my code is:

<int-ftp:outbound-gateway id="gatewayMv"
                          session-factory="ftpSessionFactory"
                          expression="payload.remoteDirectory + '/' + payload.filename"
                          request-channel="mvChannel"
                          command="mv"
                          rename-expression="payload.remoteDirectory + '/' + payload.filename "
                          reply-channel="aggregateResultsChannel"/>

how to use SpEL expression to replace in with out in rename-expression option?

解决方案

rename-expression="payload.remoteDirectory + '/' + payload.filename.replaceFirst('in', 'out')"

In most cases SpEL work like the regular Java. Since filename is a String you can apply for it any string operation.

这篇关于如何替换SpEL表达式中的字符串?的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持IT屋!

查看全文
登录 关闭
扫码关注1秒登录
发送“验证码”获取 | 15天全站免登陆