19 Oracle Mediatorのサービス・コンポーネントとエンジンの構成
この章の内容は次のとおりです。
Oracle Mediatorのチューニングとパフォーマンス・プロパティの詳細は、パフォーマンスのチューニングを参照してください。
Oracle Mediatorサービス・エンジン・プロパティの構成
メディエータ・サービス・エンジン・プロパティは、メディエータ・サービス・コンポーネントの処理時にメディエータ・サービス・エンジンによって使用されます。
メディエータ・サービス・エンジン・プロパティを構成するには:
-
「メディエータ・サービス・エンジン・プロパティ」ページに、次のいずれかの方法を使用してアクセスします。
SOAインフラストラクチャのメニューから... ナビゲータのSOAフォルダから... -
「SOA管理」→「メディエータ・プロパティ」の順に選択します。
-
「soa-infra」を右クリックします。
-
「SOA管理」→「メディエータ・プロパティ」の順に選択します。
次の図に示されているように、「メディエータ・サービス・エンジン・プロパティ」ページにメディエータ・プロパティのリストが表示されます。
-
-
使用環境に適するようにサービス・エンジン・プロパティを変更します。
プロパティの説明は、次の表19-1を参照してください。
表19-1 メディエータ・サービス・エンジンのプロパティ
プロパティ 説明 監査レベル
メディエータ固有の監査レベル。グローバルなSOAインフラストラクチャの監査レベル・プロパティは、このプロパティの値によってオーバーライドされます。このプロパティの可能な値は、次のとおりです。
-
オフ: メディエータの監査をオフにします。ビジネス・フロー・インスタンス・トラッキングとペイロード・トラッキングの情報は収集されません。
-
継承: 監査のレベルは、SOAインフラストラクチャと同じになります。この設定を使用すると、グローバル設定が変更されたときに、メディエータ監査レベルも自動的に変更できます。このページで別の監査レベル・トラッキングを設定すると、SOAインフラストラクチャ・レベルで設定したトラッキングがオーバーライドされます。
-
Production: すべてのイベントが記録されます。すべての監査詳細が、assignアクティビティの詳細を除いて記録されます。インスタンス・トラッキング情報は収集されますが、ペイロード詳細はキャプチャされないため、これらの詳細はフローの監査証跡で使用できません。このレベルは、通常の操作とテストに最適です。
-
Development: すべてのイベントとすべての監査詳細が記録されます。さらに、ペイロード詳細がキャプチャされるため、フローの監査証跡で使用できます。このレベルは、デバッグする際に便利ですが、パフォーマンスに影響を与える可能性があります。
このフラグのデフォルト値は、Inheritです。
ノート:
-
これらのプロパティの変更後に、サーバーを再起動する必要はありません。
-
監査レベルは、Oracle Application Server 10g リリースではインスタンス・トラッキング・レベルと呼ばれていました。
メトリック・レベル
ダイナミック・モニタリング・サービス(DMS)のメトリック・レベルを構成するための、メディエータ固有のプロパティ。DMSメトリックはアプリケーション・コンポーネントのパフォーマンスを計測するために使用されます。このプロパティの可能な値は、次のとおりです。
-
Enabled: DMSメトリック・トラッキングを有効にします。
-
Disabled: DMSメトリック・トラッキングを無効にします。
パラレルが取得する最大行数
パラレル処理で繰返しごとに取得する行数。
ノート: このプロパティの値が大きいと、ノート・リー不足になる可能性があります。
パラレル・ロッカー・スレッド・スリープ(秒)
パラレル処理に関するメッセージがない場合の、行を取得するための連続した2つの繰返し間でのアイドル時間。時間の単位は秒です。
パラメータ
カスタム構成プロパティ。例として、「リシーケンスされたメッセージの構成」を参照してください。
コンテナIDリフレッシュ時間
コンテナIDリース・タイムアウト
ハートビート・インフラストラクチャ・プロパティ。メディエータ・サービス・エンジンの一部であるハートビート・インフラストラクチャは、ノードの失敗または停止が原因でメディエータ・サービス・エンジン・インスタンスが存在しないことを検出します。ハートビート・インフラストラクチャは、メディエータ・サービス・エンジンの各インスタンスに対して一意の識別子を作成し、メディエータ・サービス・エンジンが失敗した場合に、必要なハウスキーピング・タスクを実行します。ハートビート・インフラストラクチャは、ハートビート・スレッドで構成されています。このハートビート・スレッドは、各メディエータ・サービス・エンジンの一意の識別子に関連付けられているタイムスタンプを定期的に更新します。メディエータ・サービス・エンジンは、関連付けられているタイムスタンプを更新することで、その存在を他のメディエータ・サービス・エンジンに知らせます。ハートビート・スレッドは、特定の期間に更新されなかった一意の識別子が存在するかどうかも確認します。ハートビート・フレームワークは、次のパラメータを設定することで構成できます。
-
コンテナIDリフレッシュ時間: 各メディエータ・サービス・エンジンの一意の識別子に関連付けられているタイムスタンプを、ハートビート・スレッドが定期的に更新する時間間隔。
ノート: デフォルト値は
60
秒です。計画外停止が発生した場合は、サーバーの再起動後に、このプロパティで指定された時間だけ待機する必要があります。より頻繁にリフレッシュする必要がある場合は、より小さな値(
30
秒など)にこのパラメータを設定できます。 -
コンテナIDリース・タイムアウト(秒): 特定の期間に更新されていない一意の識別子が存在するかどうかを、ハートビート・スレッドが定期的に確認する時間間隔。ここで指定された時間より長い期間ノードがリフレッシュしない場合、ノードはタイムアウトしたとみなされます。
ノート: デフォルト値は
300
秒です。SQL文の実行が低速であるなどの理由からノードがタイムアウトしている場合は、より大きな値(600
秒など)にこのパラメータを設定できます。
これらのパラメータを構成することで、メディエータ・サービス・エンジンの失敗を検出するためにハートビート・スレッドが使用する期間を指定できます。
リシーケンサ・ロッカー・スレッド・スリープ(秒)
ロッカー・スレッドのスリープ間隔(秒単位)。処理できるメッセージを持つグループをリシーケンサが見つけられないときに、ロッカー・スレッドは指定した期間スリープ状態になります。処理可能なメッセージを持つグループが見つかった場合は、データベース・シークの各繰返しの間でロッカー・スレッドがスリープ状態になることはありません。デフォルト値は10です。
リシーケンサがロックする最大グループ数
データベース・シークの各繰返しで処理用に取得するグループの数。取得されたグループは、処理用のワーカー・スレッドに割り当てられます。デフォルト値は4です。
リシーケンサ・ワーカー・スレッド
リシーケンス・グループを並行処理するためのワーカー・スレッド(ディスパッチャ)の数。各ワーカー・スレッドにグループが割り当てられて、そのグループのメッセージが順番に処理されます。多数のグループがメッセージの処理を待機している場合は、このパラメータを増加することでパフォーマンスを改善できます。デフォルト値は4です。
-
-
システムMBeanブラウザで詳細なメディエータ・プロパティを構成するには、「詳細メディエータ構成プロパティ」をクリックしてください。
次に説明するように、システムMBeanブラウザのメディエータ・プロパティには、ナビゲータからもアクセスできます。
JDeveloperでメディエータをユニット・テストするには:
メディエータ・コンポーネントのための単純なUIドリブン・テスト・フレームワークが、HL7形式のサンプル入力をとって、ダウンストリームで生成されるHL7ペイロードを表示します。
テスト・フレームワークでは、様々な中間段階の入力/出力ペイロードも表示されます。ルーティング・ルールで宛先を構成してある場合は、事前構成された様々な宛先に送信されるHL7ペイロードもフレームワークに示されます。このテスト・フレームワークは、JDeveloperで動作します。