この章では、Oracle Identity and Access Management (IAM)プラットフォームによって提供される非同期サービスについて説明します。この章の内容は次のとおりです。
非同期サービスは、タスクを非同期で実行するためにIAMプラットフォームによって提供されるサービスの1つです。タスクは、パフォーマンスとスループットの改善のために非同期で実行されます。
アイデンティティ管理操作によっては、完了するまでに長時間かかる場合があります。そのため、これらの操作を2つの部分に分割し、短い同期相互作用の後に長い非同期プロセスが続くようにするのは意味のあることです。同期相互作用の終わりにユーザーに応答が返され、そして残りの操作が非同期で実行されます。
非同期サービスでは、Oracle Identity Managerコンポーネントはタスクを送信して非同期で実行させることができます。送信後、呼出し元は他のタスクを実行できます。このタスクの実行は非同期サービスが担当し、コンピューティング・リソースが使用可能なときに行われます。
非同期サービスは、構成ファイルasync-messaging.xmlを使用して非同期タスクをルーティングおよび構成します。この構成ファイルは、Oracle Identity ManagerデータベースのMetaData Store (MDS)スキーマに格納されています。MDSのファイル・パスは、/file/async-messaging.xmlです。
例16-1に、構成ファイルの抜粋を示します。
例16-1 構成ファイルの例
<tns:async-config> <task-config> <class>oracle.iam.reconciliation.impl.ActionTask</class> <destination>queue/oimReconQueue</destination> </task-config> <task-config> <class>com.thortech.xl.schedule.jms.messagetype.AttestationTaskMessage</class> <destination>queue/oimAttestationQueue</destination> <priority>NORMAL</priority> <maxRetries>2</maxRetries> </task-config> <task-config> <class>com.thortech.xl.schedule.jms.messagetype.AttestationRequestMessage</class> <destination>queue/oimAttestationQueue</destination> <priority>HIGH</priority> </task-config> <default-config> <destination>queue/oimDefaultQueue</destination> <maxRetries>3</maxRetries> </default-config> </tns:async-config>
構成ファイルを修正するには、MDSインポート・ユーティリティを使用してインポートし、ファイルを修正し、それからMDSエクスポート・ユーティリティを使用して修正したファイルをエクスポートします。MDSユーティリティの詳細は、Oracle Fusion Middleware Oracle Identity Manager開発者ガイドのMDSユーティリティに関する項を参照してください。
システム管理者は、非同期タスクの構成ファイルで次のパラメータを構成できます。
宛先: 大量のタスクをそれぞれ独自の専用キューに割り当てることができます。たとえば、例16-1では、すべての非同期タスクが同じ宛先キューattestationQueue
に割り当てられています。各非同期タスクに個別の宛先キューを作成して、各メッセージの送信先を定義することができます。
注意: タスクをキューに割り当てる前に、そのキューがアプリケーション・サーバーに存在することを確認する必要があります。 |
優先度: 複数のタイプの非同期タスクが同じ宛先キューに割り当てられている場合は、優先度を設定できます。次のいずれかの値を設定できます。
標準
高
低
最大再試行数: 非同期タスク実行のエラー・リカバリは、自動と手動の2とおりで処理されます。自動再試行メカニズムでは、スケジュール済タスクを使用してすべての失敗タスクを特定の間隔で再試行します。システム管理者は、「最大再試行数」パラメータを使用して、実行失敗時にタスクを再試行できる最大回数を指定できます。エラー処理とリカバリ・メカニズムの詳細は、16.3項を参照してください。
タスクまたはメッセージの実行時にエラーが発生する場合があります。非同期タスク実行のエラー・リカバリは、自動再試行と手動操作の組合せで行われます。タスクの実行中にエラーが発生すると、そのタスクはFailedTasks
表に追加され、システム管理者に通知されます。エラー処理メカニズムの詳細は、16.3.1項と16.3.2項を参照してください。
スケジュール済タスクにより、失敗したタスクは定期的な間隔で自動再試行されます。スケジュール済タスクによってタスクが再試行される最大回数は、例16-2に示すように、非同期タスクの最大再試行数プロパティを使用して構成できます。
システム管理者は、Oracle Identity Manager診断ダッシュボードのユーザー・インタフェース(UI)を使用して、失敗したタスクを表示して適切な対処を行った後でタスクを再試行します。Oracle Identity Manager診断ダッシュボードUIの詳細は、16.4項を参照してください。
診断ダッシュボードには、システム管理者が失敗した非同期タスクを表示して再試行できるようにするUIが備えられています。この項では、次の項目について説明します。
次のURLを使用して、「診断ダッシュボード」のホーム・ページにアクセスします。
http://
host:port
/XIMDD
左ペインのメニューで「失敗したタスクの管理」リンクをクリックします。
ユーザー名とパスワードを入力します。「失敗したタスクの管理」ページが表示されます。
注意: 診断ダッシュボードUIにアクセスするにはシステム管理者権限が必要です。 |
システム管理者は、失敗した各タスクの詳細、たとえばそのタスクが失敗した原因や対処方法などを表示できます。
失敗したタスクの詳細を表示するには、フィルタ基準を指定するか、「検索」hボタンをクリックします。
「診断ダッシュボード」のホーム・ページにログインします。詳細は16.4.1項を参照してください。
次のいずれかを実行して、失敗したタスクのリストを表示します。
「検索」をクリックして、失敗したタスクすべてのリストを表示します。
次のフィルタ基準に基づいて、失敗したタスクを検索します。
タスク名: 失敗したタスクの名前を入力します。
カテゴリ: 失敗したタスクのカテゴリを入力します。
間: データ範囲を指定します。
自動再試行がまだ一時停止中のタスクを表示しないようにするには、「再試行が残っている場合は除外」オプションを選択します。
フィルタ基準を指定したら、「検索」をクリックします。図16-1に示すように、失敗した非同期タスクのリストが表示されます。
「識別子」リンクをクリックし、失敗したタスクの詳細情報を表示します。このシナリオでは、222
をクリックします。次の情報が表示されます。
タスク名
インスタンスID
カテゴリ
最終実行時間
原因
アクション
スタック・トレース
システム管理者は、特定の失敗タスクを診断ダッシュボードUIから直接再試行して、再試行の結果を表示できます。
再試行する失敗タスクを検索します。詳細は、16.4.2.1項を参照してください。
「再試行」リンクをクリックします。タスクの再試行ステータスが表示されます。次の詳細を指定します。
再試行ステータス
タスク・サマリー
スタック・トレース
原因
解決