2017-06-08 10 views
1

キャメルで、監査のために保存したいもののルートにキー/バリューの式を定義し、ピックアップしてデータベースに透過的に書き込む方法をキャメルでどのようにお勧めしますか?キャメルをデータベースに取り込む

つまり、ルートには、監査用に保存するオブジェクトの配列や式のセットが含まれていますが、実際にどのようにピックアップされてDBに書き込まれるかはわかりません。

これは、Mule XMLに<flow>要素を入れてMuleのDBに保存して追跡することができる、Muleの監査機能のようなものです。

私はインタセプタ、イベント通知機能、トレーサ、WireTaps、MDCログを見てきました。答えはこれらの要素の1つまたは組み合わせにあると確信していますが、私には分かりません。

私は比較としてそのマニュアルからミュール監査XMLのこの例を使用しています:監査のための

<flow name="bizFlow"> 
    <tracking:custom-event event-name="Retrieved Employee" doc:name="Custom Business Event"> 
     <tracking:meta-data key="Employee ID" value="#[payload['ID']]"/> 
     <tracking:meta-data key="Employee Email" value="#[payload['Email']]"/> 
     <tracking:meta-data key="Employee Git ID" value="#[payload['GITHUB_ID']]"/> 
    </tracking:custom-event> 
</flow> 

どうもありがとうございました

答えて

0

は私が何をすべきか特別なaudit routeに交換を送信するためにwireTapを使用私は監査が必要です。実際にはDBではなくJMSキューにはありますが、それは問題ではありません。

唯一の制限はあり:監査のために行くものは何でもメインルート(並列の両方の実行)によりwireTap後に変更されたので、私は、監査ルートで使用される特殊な取引プロパティにwireTap前に、このような監査データを複製してはいけませんが。

+0

お返事ありがとうございます。あなたのケースでは、監査データを保存する専用の交換プロパティを作成していますが、各経路に明示的に盗聴票を追加する必要があります。私はあなたがプロパティを作成し、ルートに盗聴を置く必要はありませんので、これを行う方法があるかどうか疑問に思っていますか? – ludanna

+0

はい、あなたはリジッドです。私は監査を行う必要がある場所であればどこでもwireTapを追加しました。それは私が監査から正確に必要としていたものでした。私が必要とするフローのポイントで必要なものを監査します。実際に何を監査する必要があるのか​​よく分かりませんが、 'trace'と' messageHistory'には2つのパラメータがあります。私はmessageHistoryも交換財産であり、カスタマイズして扱うこともできることを覚えています。また、私はそのような目的のためにキャメルにもっと多くのものがあるとは思わない。おそらくあなたはそのようなコンポーネントを作成し、それをコミュニティと共有できますか?どうですか? - :) – Vadim

関連する問題