!--a11y-->
監査ログエントリの登録 
監査ログデータベースにはエントリを書き込むことができます。

uml_auditlog.wmf には、UML 書式のクラス図が含まれます。Word を開いて uml_auditlog.wmf をグラフィックとしてインポートしてください。
監査ログエントリを書き込む前に、最初にAuditMessageKey を登録する必要があります。このキーは、XI メッセージの messageID と方向で構成されています。
● アダプタフレームワークからアダプタに転送されるメッセージには、AuditDirection.Inbound を使用します。
● アダプタからアダプタフレームワークに転送されるメッセージには、AuditDirection.Outbound を使用します。

ここで使用する受信と送信という用語は、プロセスインテグレーションで一般に使用する用語とは一貫性がありません。
messageID と方向は、監査ログのデータベースでキーを表します。
ログエントリは、以下の例で示すように書き込むことができます。

SPIManagedConnectionFactory.java を開き、文字列CS_TRAUD を検索します。
入力パラメータ AuditMessageKey なしでメソッドの 1 つが呼び出されると、以下のステップが実行されます。
● 正確に 1 つの監査ログレコード (perThread) が AuditMessageKey オブジェクトなしでキャッシュに対して内部的に書き込まれます。
● 同じスレッドで addAuditLog() が AuditMessageKey オブジェクトとともに初めて呼び出されるときに、キャッシュに保存されている監査ログエントリに messageID と方向に関する情報が追加されます。
● flushAuditLogEntries() が次に呼び出されたときに、キャッシュ内のすべてのエントリが監査ログデータベースに書き込まれます。

不要な監査ログエントリを回避するために、アダプタは、同期メッセージ用として flushAuditLogEntries() を使用しないようにする必要があります。
アダプタをテストする場合、Visual Administrator のプロパティを変換することにより、同期メッセージのペイロードをメッセージモニタに表示できるようになります。
Visual Administrator では、サービス SAP XI AF Messaging で以下のプロパティを設定します。
Messaging.syncMessageRemover.removeBody = false

このパラメータはテストシステムでのみ変更してください。本稼動システムでこの設定を変更すると、非常に多数の同期メッセージによってメインメモリが占有されたときに、J2EE サーバ上で OutOfMemory 例外が発生する可能性があります。