0

我正在编写一个实用程序来记录用户的 HTTP 请求。使用 Camel 的文件组件来实现它。
现在写入,因为覆盖默认值 File 组件正在为每个 HTTPRequest 写入新文件。
我可以将其更改为,Append但它不会给我所有用户会话的单个文件吗?我想要每个用户会话的单独文件。但是请求将为同一用户附加。路线是这样的:

<route>
            <from uri="seda:saveRequestMessageForTesting"/>
            <log message="Request Message is ${body}"/>
            <to uri="file://src?fileName=req.txt?fileExist=Append"/>
        </route>
4

1 回答 1

2

你可以

1) 使用要写入的文件名设置标题,这将优先于您使用 req.txt 配置的文件名。您需要在使用文件之前设置此标头。

例如,我们可以在 bean 上调用一个方法来计算文件名:

<setHeader headerName="CamelFileName">
  <method ref="myBean" method="myMethod"/>
</setHeader>

或者使用 Camel 处理器,您可以在其中设置 Exchange IN 消息的标头。

<process ref="myProcessor"/>

2) 在动态计算端点的地方使用动态收件人列表 eip。请参阅此常见问题解答:http ://camel.apache.org/how-do-i-use-dynamic-uri-in-to.html

于 2013-03-28T19:38:15.927 回答