【发布时间】:2018-04-19 03:32:58
【问题描述】:
我正在使用带有 spring xml 的 Camel。当我尝试通过骆驼的 exec-component 调用 find 时,会出现一些问题来正确获取参数。
我想调用'find /somepath/ -mtime +10'
我的骆驼路线有这个到元素。
<to uri="exec:find?args=/somepath/ -mtime +30 -delete" />
在日志中我得到了
2017-11-06 20:12:00,172 INFO [org.apache.camel.component.exec.ExecProducer] (DefaultQuartzScheduler-noderoutes_Worker-10) The command ExecCommand [args=[/tmp/integrator/msglog/, -mtime, **30**, -print], executable=find, timeout=9223372036854775807, outFile=null, workingDir=null, useStderrOnEmptyStdout=true] had exit value 0
我们可以看到 + 号被删除并且 find 命令将由于缺少 + 而失败。 我尝试了不同的方法来逃避或编码 + 但没有成功。任何人都知道保护 +sign 的方法吗?
【问题讨论】:
-
您尝试了哪些方式对
+字符进行编码?&#43;理论上应该可以工作。 -
我尝试用 %2B 和 B 编码,都消失了。