阿帕奇骆驼和<;groovy></groovy>;
我想使用groovy修改文件,使用:阿帕奇骆驼和<;groovy></groovy>;,groovy,apache-camel,transform,Groovy,Apache Camel,Transform,我想使用groovy修改文件,使用: <from uri="file:/data/inbox?delete=true" /> <transform> <groovy> body = body[1..3] </groovy> </transform> <to uri="file:/data/outbox"/> body=body[1..3] 我得到一个错误: groov
<from uri="file:/data/inbox?delete=true" />
<transform>
<groovy>
body = body[1..3]
</groovy>
</transform>
<to uri="file:/data/outbox"/>
body=body[1..3]
我得到一个错误:
groovy.lang.MissingMethodException:没有方法的签名:
org.apache.camel.component.file.GenericFile.getAt()适用于
参数类型:(groovy.lang.IntRange)值:[1..3]
我做错了什么?是的,输入是基于文件的,您试图使用在列表上工作的groovy函数来获取第一到第三个元素。你不能那样做。如果只想获取文件的前3行,则需要首先将消息转换为列表等,或者使用拆分器eip将文件逐行拆分,并将其分组到一个列表中,然后执行groovy脚本接收的body变量是不包含getAt方法的GenericFile。你想做什么?你想用这个
body=body[1..3]
做什么?在这种情况下,原始的body
是一个GenericFile
实例,但是groovy脚本body[1..3]
尝试使用不受支持的IntRange
参数调用其getAt()
方法。