Java ApacheCamel:为每个用户会话编写单个文件
我正在编写一个实用程序来记录用户的HTTP请求。使用Camel的文件组件来实现它。Java ApacheCamel:为每个用户会话编写单个文件,java,apache,apache-camel,Java,Apache,Apache Camel,我正在编写一个实用程序来记录用户的HTTP请求。使用Camel的文件组件来实现它。 立即写入,因为覆盖默认值文件组件正在为每个HTTPRequest写入新文件。 我可以将其更改为Append,但它不会为所有用户会话提供单个文件吗? 我希望每个用户会话都有单独的文件。但将为同一用户追加请求。 路线如下: <route> <from uri="seda:saveRequestMessageForTesting"/> <lo
立即写入,因为覆盖默认值文件组件正在为每个HTTPRequest写入新文件。
我可以将其更改为
Append
,但它不会为所有用户会话提供单个文件吗?
我希望每个用户会话都有单独的文件。但将为同一用户追加请求。
路线如下:
<route>
<from uri="seda:saveRequestMessageForTesting"/>
<log message="Request Message is ${body}"/>
<to uri="file://src?fileName=req.txt?fileExist=Append"/>
</route>
您可以
(一)
使用要写入的文件名设置一个标头,该标头将优先于使用req.txt配置的文件名。您需要先设置此标头,然后才能使用该文件访问
例如,我们可以调用bean上的方法来计算文件名:
<setHeader headerName="CamelFileName">
<method ref="myBean" method="myMethod"/>
</setHeader>
或者使用Camel处理器,在其中设置Exchange IN消息的头
<process ref="myProcessor"/>
(二)
使用动态收件人列表eip动态计算端点。请参阅此常见问题解答: