0

ユーザーの HTTP リクエストを記録するユーティリティを作成しています。Camel のファイル コンポーネントを使用してそれを実現します。
デフォルト値をオーバーライドするため、すぐに書き込みます ファイル コンポーネントは、HTTPRequest ごとに新しいファイルを書き込みます。
に変更することはできAppendますが、すべてのユーザー セッションに対して 1 つのファイルが提供されませんか? ユーザーセッションごとに個別のファイルが必要です。ただし、リクエストは同じユーザーに追加されます。ルートは次のようなものです:

<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>

または、Exchange IN メッセージにヘッダーを設定する Camel プロセッサを使用します。

<process ref="myProcessor"/>

2) エンドポイントを動的に計算する動的受信者リスト eip を使用します。この FAQ を参照してください: http://camel.apache.org/how-do-i-use-dynamic-uri-in-to.html

于 2013-03-28T19:38:15.927 に答える