我的 txt 文件包含一些 ID 。 对于每个ID,我尝试在端点(url)上发出一些 GET 请求,并将响应作为JSON文件获取并将其放入具有每个文件的特定名称的文件夹中
一切都很好,我已经提出了请求,我为每个id获取了JSON文件,我可以将它们放入一个带有动态名称的文件夹中。
但是当我试图用他们的id重命名文件时,像 jsonFile_234 .txt这样的东西就会抛出Camel Exception。
org.apache.camel.component.file.GenericFileOperationFailedException: 无法存储文件:src \ main \ resources \ jsonFromGetReq \ mandatJson_690 .TXT
这就是我的骆驼路线的样子。
<camel:route id="makeRequestForEachId">
<camel:from uri="file:src/main/resources/idList?noop=true" />
<camel:split>
<camel:tokenize token="\n" />
<camel:to uri="stream:out" />
<camel:setHeader headerName="CamelHttpMethod">
<camel:constant>GET</camel:constant>
</camel:setHeader>
<camel:setHeader headerName="manId">
<camel:simple>${body}</camel:simple>
</camel:setHeader>
<camel:recipientList>
<camel:simple>
http://examples.com/${header.manId}
</camel:simple>
</camel:recipientList>
<camel:to uri="file:src/main/resources/jsonFromGetReq/?fileName=json_${header.manId}.txt&fileExist=Move&moveExisting=${file:name.noext}_${date:now:MMddyyyy-HH_mm_ss}.txt"></camel:to>
</camel:split>
</camel:route>
任何人都可以帮助我解决这个问题,而不会有任何例外吗?
答案 0 :(得分:0)
我找到了问题的根源。 当Camel使用令牌&#34; \ n&#34;进行拆分时,他使我的id看起来像id \ n,当我写$ {header.mandatId}时,此表达式的值为 id \ n < / em>的
该文件的名称如下: json_32(新行 / n )。txt
无法创建此文件,名称中包含新行。
<camel:tokenize token="\r\n" />
这解决了我的问题。