メディエータのJavaコールアウトAPI
JavaコールアウトAPIでは、oracle.tip.mediator.common.api.IjavaCalloutおよびoracle.tip.mediator.common.api.CalloutMediatorMessageという2つのインタフェースを定義します。
               
表20-5では、oracle.tip.mediator.common.api.IjavaCalloutインタフェースのメソッドをリストして説明します。
               
表20-5 IjavaCalloutインタフェースのメソッドの説明
| メソッド | 説明 | 
|---|---|
| 
 | コールアウト実装クラスが初めてインスタンス化されるときに起動されます。 | 
| 
 | メディエータがケースの実行を開始する前にコールされます。このメソッドをカスタマイズすると、検証および拡張機能を組み込むことができます。 | 
| 
 | メディエータが特定のケースの実行を開始する前にコールされます。このメソッドをカスタマイズすると、ケース固有の検証および拡張機能を組み込むことができます。 | 
| 
 | メディエータがコールバック処理の実行を終了する前にコールされます。このメソッドをカスタマイズすると、コールバックの監査およびカスタムのフォルト・トラッキングを実行できます。 | 
| 
 | メディエータがケースの実行を終了した後にコールされます。このメソッドをカスタマイズすると、レスポンスの監査およびカスタムのフォルト・トラッキングを実行できます。 後処理メソッドは、すべての順次ルーティングが実行された後にコールされますが、パラレルのルーティング・ルールの完了は待機しません。 | 
| 
 | メディエータがケースの実行を開始した後にコールされます。このメソッドをカスタマイズすると、レスポンスの監査およびカスタムのフォルト・トラッキングを実行できます。 | 
| 
 | メディエータがコールバック処理の実行を終了した後にコールされます。このメソッドをカスタマイズすると、コールバックの監査およびカスタムのフォルト・トラッキングを実行できます。 | 
ノート:
preRoutingRuleメソッドまたはpreRoutingメソッドで、Javaコールアウトを使用してメディエータのメッセージ・プロパティを変更した場合は、メディエータの割当て機能を使用して、変更したプロパティをアウトバウンド・メッセージに明示的にコピーする必要があります。たとえば、Javaコールアウトでjca.file.FileNameを変更している場合は、メディエータの割当て文を次のように更新する必要があります。
                  
<assign> <copy target="$out.property.jca.file.FileName" expression="$in.property.jca.file.FileName"/> </assign>
表20-6で、CalloutMediatorMessageインタフェースのメソッドについて説明します。
               
表20-6 CalloutMediatorMessageインタフェースのメソッドの説明
| メソッド | 説明 | 
|---|---|
| 
 | メディエータ・メッセージのペイロードを設定します。 | 
| 
 | メディエータ・メッセージにプロパティを追加します。 | 
| 
 | メディエータ・メッセージにヘッダーを追加します。 | 
| 
 | プロパティ名を指定してメディエータ・メッセージのプロパティを取得します。 | 
| 
 | メディエータ・メッセージのプロパティを取得します。 | 
| 
 | メディエータ・メッセージのインスタンスIDを取得します。このインスタンスIDは、該当する特定のメッセージに対して作成されたメディエータ・インスタンスIDです。 | 
| 
 | メディエータ・メッセージのペイロードを取得します。 | 
| 
 | メディエータ・メッセージのヘッダーを取得します。 | 
| 
 | メディエータ・サービス・コンポーネントのcomponentDNを取得します。 | 
ノート:
- 
                        oracle.tip.mediator.common.api.AbstractJavaCalloutImplクラスは、IJavaCalloutインタフェースのダミー実装です。このクラスによって、IJavaCalloutインタフェースに存在するすべてのメソッドが定義されます。このため、このクラスの拡張によって、IJavaCalloutインタフェースのいくつかの特定メソッドのみをオーバーライドできます。インタフェースのダミー実装は、実装クラスによって、特定のインタフェースで宣言されているすべてのメソッドの定義が提供されることを意味しますが、空のメソッド本体を1つ以上の定義済メソッドに指定することはできます。ダミー実装クラスの拡張は、インタフェースを実装してすべてのメソッドを定義する場合と異なり、メソッドのサブセットのみをオーバーライドできるためより簡単です。 
- 
                        Javaコールアウト内で発生する処理の詳細は、メディエータの「監査証跡」画面には表示されません。