Java ApacheCamel:为每个用户会话编写单个文件

Java ApacheCamel:为每个用户会话编写单个文件,java,apache,apache-camel,Java,Apache,Apache Camel,我正在编写一个实用程序来记录用户的HTTP请求。使用Camel的文件组件来实现它。 立即写入,因为覆盖默认值文件组件正在为每个HTTPRequest写入新文件。 我可以将其更改为Append,但它不会为所有用户会话提供单个文件吗? 我希望每个用户会话都有单独的文件。但将为同一用户追加请求。 路线如下: <route> <from uri="seda:saveRequestMessageForTesting"/> <lo

我正在编写一个实用程序来记录用户的HTTP请求。使用Camel的文件组件来实现它。
立即写入,因为覆盖默认值文件组件正在为每个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动态计算端点。请参阅此常见问题解答: