Oracle Fusion Middleware Oracle SOA SuiteおよびOracle Business Process Management Suite管理者ガイド 11g リリース1(11.1.1.7) B55916-08 |
|
前 |
次 |
この章では、BPELプロセス・サービス・コンポーネントとサービス・エンジンの構成方法(監査レベル、監査証跡しきい値、ディスパッチャ・スレッド値などのプロパティ、BPELプロセスの自動リカバリ、マスター・ノード・リカバリ・スケジューリング、起動メッセージとコールバック・メッセージの自動リカバリ試行、およびコールバック・メッセージの順序の保持の構成を含む)について説明します。
この章では、次の項目について説明します。
Oracle SOA SuiteとOracle BPELプロセスのチューニングとパフォーマンス・プロパティの詳細は、『Oracle Fusion Middlewareパフォーマンスおよびチューニング・ガイド』を参照してください。
BPELプロセス・サービス・エンジン・プロパティを構成でき、このプロパティは、BPELプロセス・サービス・コンポーネントの処理時に、BPELプロセス・サービス・エンジンで使用されます。
BPELプロセス・サービス・エンジン・プロパティを構成する手順は、次のとおりです。
次のいずれかのオプションを使用して、このページにアクセスします。
SOAインフラストラクチャのメニューから... | ナビゲータのSOAフォルダから... |
---|---|
|
|
「BPELサービス・エンジン・プロパティ」ページに、監査証跡しきい値と大容量ドキュメントしきい値の設定、ディスパッチャ・スレッド・プロパティの設定、ペイロード・スキーマの検証、および監査証跡レベルの設定を行うためのプロパティが表示されます。
使用環境に適するようにサービス・エンジン・プロパティを変更します。
プロパティ | 説明 |
---|---|
監査レベル |
次のいずれかのオプションを選択します。
|
監査証跡しきい値(バイト) |
監査証跡とは別にチャンクされてデハイドレーション・ストア表に保存される前の、インスタンスの監査証跡の最大サイズをバイト単位で入力します。このしきい値を超えると、ペイロードのかわりに、「XMLの表示」リンクが監査証跡に表示されます。 |
大容量のドキュメントしきい値(バイト) |
デハイドレーション・ストアの別の表に保存される前の、BPELプロセス・コンポーネント・インスタンス内に生成されるドキュメントの最大サイズを入力します。 |
ディスパッチャ・システム・スレッド |
システム・ディスパッチャ・メッセージの処理に割り当てるスレッドの合計数を指定します。システム・ディスパッチ・メッセージは、通常、サーバーにより迅速に処理される一般的なクリーン・アップ・タスクです(たとえば、ステートフル・メッセージBeanを元のプールに解放)。通常、実行時に生成されたシステム・ディスパッチ・メッセージの数を処理するために必要なスレッド数はごく少数です。 デフォルト値は これらのスレッドの監視の詳細は、第14.6項「BPELプロセス・サービス・エンジンのリクエスト統計とスレッド・パフォーマンス統計の監視」を参照してください。 |
ディスパッチャ呼出しスレッド |
呼出しディスパッチャ・メッセージの処理に割り当てるスレッド合計数を指定します。呼出しディスパッチャ・メッセージは、受信したペイロードごとに生成され、新規インスタンスをインスタンス化するために使用されます。サービス・エンジンで処理されるリクエストの大多数が(インスタンス・コールバックではなく)インスタンス呼出しである場合は、呼出しスレッド数を増加させることでパフォーマンスが大幅に向上する可能性があります。スレッド数が多くなるほど、コンテキスト切替えコストが高くなるため、CPU使用率が大幅に増加する可能性があります。 デフォルト値は これらのスレッドの監視の詳細は、第14.6項「BPELプロセス・サービス・エンジンのリクエスト統計とスレッド・パフォーマンス統計の監視」を参照してください。 |
ディスパッチャ・エンジン・スレッド |
エンジン・ディスパッチャ・メッセージの処理に割り当てるスレッド合計数を指定します。エンジン・ディスパッチャ・メッセージは、アクティビティを非同期で処理する必要がある場合に必ず生成されます。デプロイされるプロセスの大多数が永続的で、多数のデハイドレーション・ポイント(midprocess receive、onMessage、onAlarmおよびwaitアクティビティ)がある場合は、ディスパッチャ・エンジン・スレッド数を増加させることでパフォーマンスが大幅に向上する可能性があります。スレッド数が多くなるほど、コンテキスト切替えコストが高くなるため、CPU使用率が大幅に増加する可能性があります。 デフォルト値は これらのスレッドの監視の詳細は、第14.6項「BPELプロセス・サービス・エンジンのリクエスト統計とスレッド・パフォーマンス統計の監視」を参照してください。 |
ペイロードの検証 |
インバウンド・メッセージとアウトバウンド・メッセージの検証を有効にする場合に選択します。スキーマに準拠しないペイロード・データが捕捉され、フォルトとして表示されます。 注意: この設定は、SOAコンポジット・アプリケーションおよびSOAインフラストラクチャのペイロード検証レベルの設定に依存しません。ペイロード検証がサービス・エンジンとSOAインフラストラクチャの両レベルで有効な場合、データは2回チェックされます。1回目は、データがSOAインフラストラクチャに入るとき、2回目は、データがサービス・エンジンに入るときです。 |
デプロイ済のすべてのSOAコンポジット・アプリケーションのすべてのBPELコンポーネントに定義されているすべてのBPELモニターおよびセンサーを無効にするには、このチェック・ボックスを選択します。 |
「適用」をクリックします。
システムMBeanブラウザで拡張BPELプロパティを構成するには、「詳細BPEL構成プロパティ」をクリックします。表示されるプロパティの一部を次に示します。各プロパティには説明が記載されています。
AsynchAuditBatchSize: Oracle Exalogicプラットフォームで、(複数のインスタンスの)複数の監査証跡メッセージを単一トランザクションに格納します。詳細は、第15.5項「Oracle Exalogicプラットフォームにおけるインスタンスとメッセージ・データのOracle Coherence分散キャッシュへの格納」を参照してください。
BpelcClasspath: BPELで生成されたJavaソースをコンパイルするときに含める追加BPELクラスのパス。詳細は、『Oracle Fusion Middleware Oracle SOA Suite開発者ガイド』のカスタム・クラスとJARファイルの追加方法に関する項を参照してください。
DisableAsserts: BPELでアサーションの実行を無効化します(bpelx:assert
アクティビティを含む)。詳細は、『Oracle Fusion Middleware Oracle SOA Suite開発者ガイド』のアサーションの無効化方法に関する項を参照してください。
DispatcherNonBlockInvokeThreads: 非ブロッキング呼出しディスパッチャ・メッセージの処理に割り当てるスレッドの合計数。システムに多数の非ブロッキング呼出しがある場合は、このプロパティの値を増分できます。デフォルト値は2
です。1
未満の値は、自動的にデフォルト値に変更されます。
ExecuteCallbacksInOrder: BPELプロセス・サービス・エンジン内にコールバックの受信時間の順番にBPELプロセス・コールバックを保持します(true
に設定されている場合)。詳細は、第13.5項「コールバック・メッセージの順序の保持」を参照してください。
ExpirationMaxRetry: 失敗した期限切れ呼出し(wait/onAlarm)が失敗するまでに再試行される最大回数。
InstanceKeyBlockSize: 1回のフェッチごとにデハイドレーション・ストアから割り当てられるインスタンスIDのブロック・サイズ。
MaximumNumberOfInvokeMessagesInCache: メモリー内キャッシュに格納される起動メッセージ数。
MaxRecoverAttempt: 同一のリカバリ可能なインスタンスに発行する自動リカバリ試行の数。詳細は、第13.4項「起動メッセージおよびコールバック・メッセージの自動リカバリ試行の構成」と第15.5.4項「複数の監査証跡メッセージの単一トランザクションへの格納の構成」を参照してください。
MinBPELWait: BPELプロセスがデハイドレーションに関連して実際に待機する最小期間。詳細は、『Oracle Fusion Middleware Oracle SOA Suite開発者ガイド』の有効期限を設定する待機アクティビティの作成に関する項を参照してください。
QualityOfService: BPELプロセス・サービス・エンジンに対してOracle Coherenceのキャッシュを有効または無効にします。詳細は、第15.5.3項「Oracle Coherenceのキャッシュ機能の構成」を参照してください。
RecoveryConfig: アクティビティの自動リカバリを構成し、マスター・ノード・リカバリ・スケジューリングを使用するようにクラスタ環境を構成します。詳細は、第13.2項「Oracle BPEL Process Managerの自動リカバリの構成」と第13.3項「マスター・ノード・リカバリ・スケジューリングの構成」を参照してください。
StatsLastN: 最近処理されたリクエスト・リストのサイズ。この値を1000などの値に変更してください。これによって、「統計」ページで下位レベルの統計を表示できます。詳細は、第14.6項「BPELプロセス・サービス・エンジンのリクエスト統計とスレッド・パフォーマンス統計の監視」を参照してください。
SyncMaxWaitTime: タイムアウトする前に実行されるリクエスト操作およびレスポンス操作の最大回数。このプロパティの詳細は、『Oracle Fusion Middleware Oracle SOA Suite開発者ガイド』の永続同期プロセスのトランザクション・タイムアウト値の指定に関する項を参照してください。
使用環境に適した変更を行います。
Oracle BPELプロセスのチューニングとパフォーマンス・パラメータの詳細は、『Oracle Fusion Middlewareパフォーマンスおよびチューニング・ガイド』を参照してください。
Oracle SOA Suiteには、Oracle Enterprise Manager Fusion Middleware Controlの自動リカバリ機能が備えられており、この機能を使用して、次のものを構成およびリカバリでます。
関連付けられた有効期限を持ち、再スケジュールされるSOAインフラストラクチャでスケジュールされる、すべてのアクティビティ(waitアクティビティやpickアクティビティのOnAlarmブランチなど)
指定されたしきい値の時間内に完了しないすべてのアクティビティ
未解決のすべての起動メッセージおよびコールバック・メッセージ
自動リカバリを構成するには、次の手順を実行します。
ナビゲータで、「soa-infra」を右クリックし、「SOA管理」→「BPELプロパティ」の順に選択します。
「詳細BPEL構成プロパティ」をクリックします。
「名前」列で「RecoveryConfig」をクリックします。
RecurringScheduleConfigを展開します。
このセクションでは、繰返しのリカバリ試行を構成できます。
次のプロパティを環境に適した値に設定し、「適用」をクリックします。
「StartupScheduleConfig」を展開します。
このセクションでは、サーバー起動リカバリ試行を構成できます。
次のプロパティを環境に適した値に設定し、「適用」をクリックします。
マスター・ノード・リカバリ・スケジューリングを使用するようにクラスタ環境を構成できます。この環境では、マスター・ノードは、クラスタ内のすべてのノードに対してリカバリを実行するための専用ノードです。
注意: この機能は、Oracle Fusion Middlewareリリース1 (11.1.1.3)より前のデータベース・スキーマを使用している場合は動作しません。 |
マスター・ノード・リカバリ・スケジューリングを使用すると、次のタスクを実行できます。
期限を過ぎた、有効期限が指定されているアクティビティ(waitアクティビティやpickアクティビティのOnAlarmブランチなど)のリカバリを実行できます。マスター・ノードは、期限切れの作業アイテムを取得し、再スケジュールします。
残されている作業アイテムのリカバリ
コールバック・メッセージのリカバリ
起動メッセージのリカバリ
期限切れアクティビティのフェイルオーバーを実行でき、マスター・ノードは失敗したノードを検出すると、有効期限が指定された作業アイテムを再スケジュールしようとします。
マスター・ノード・リカバリ・スケジューリングを構成する手順は、次のとおりです。
Oracle Enterprise Manager Fusion Middleware Controlにログインします。
「soa-infra」を右クリックします。
「SOA管理」→「BPELプロパティ」の順に選択します。
「詳細BPEL構成プロパティ」をクリックします。
「名前」列で「RecoveryConfig」をクリックします。
ClusterConfigを開きます。ClusterConfigプロパティは、RecurringScheduleConfigとStartupScheduleConfigにそれぞれ設定した繰り返しのリカバリ試行プロパティおよびサーバー起動リカバリ試行プロパティと関連して機能します。
次のプロパティを環境に適した値に設定し、「適用」をクリックします。
注意: インスタンスまたはメッセージがリカバリ可能になると、リカバリが試行されます。ただし、試行回数は追跡されません。リカバリが失敗すると、同じレコードを取得して試行し、再度失敗することを続けます。 |
リカバリ可能な同じインスタンス内で発行する自動リカバリ試行の数を構成できます。入力した値によって、起動メッセージおよびコールバック・メッセージがリカバリされる最大回数が指定されます。値が2
(デフォルト値)の場合、すべてのメッセージがリカバリされます。1つのメッセージに対するリカバリ試行の数が、指定された値を超過すると、そのメッセージにはリカバリ不能のマークが付けられます。
起動メッセージおよびコールバック・メッセージの自動リカバリ試行を構成するには、次の手順を実行します。
ナビゲータで、「soa-infra」を右クリックし、「SOA管理」→「BPELプロパティ」の順に選択します。
「詳細BPEL構成プロパティ」をクリックします。
「MaxRecoverAttempt」に移動します。
「値」フィールドに値を入力します。
MaxRecoverAttemptを設定した場合の起動メッセージとコールバック・メッセージのリカバリ動作は異なります。たとえば、「MaxRecoverAttempt」を4
に設定した場合は次のようになります。
起動メッセージ・リカバリは、4
(N)回再試行されてから、消耗済状態にメッセージが移動されます。
コールバック・メッセージ・リカバリは、5
回(N + 1
)再試行されてから、消耗済状態にメッセージが移動されます。
これは予想された動作です。最初の試行はリカバリ試行とはみなされません。リカバリ試行はBPELプロセス・サービス・エンジンによって増分されます。MaxRecoverAttemptが1
に設定されている場合は、デフォルトの解決プロセスが1回実行された後で、リカバリ試行が1回実行されます。
「適用」をクリックします。
起動メッセージおよびコールバック・メッセージのリカバリの詳細は、第15.4項「BPELプロセス・サービス・エンジンのメッセージ・リカバリの実行」を参照してください。
システムMBeanブラウザで「ExecuteCallbacksInOrder」プロパティをtrue
に設定することで、BPELプロセスのコールバック・メッセージの順番を保持して、確実に正しい順番でBPELプロセス・インスタンスに配信されるようにできます。ExecuteCallbacksInOrderは、所定のBPELプロセス・サービス・コンポーネント・インスタンスについてBPELプロセス・サービス・エンジンによって受信された順番でコールバックが配信されるようにできます。この設定は、BPELプロセス・サービス・エンジンにデプロイされているすべてのSOAコンポジット・アプリケーションに影響を与えます。
ExecuteCallbacksInOrderプロパティへのアクセスと構成の詳細は、第13.1項「BPELプロセス・サービス・エンジン・プロパティの構成」を参照してください。
BPELプロセス・サービス・コンポーネントには監査レベルを設定できます。この設定は、SOAインフラストラクチャ、サービス・エンジン、SOAコンポジット・アプリケーションの各レベルの監査レベル設定より優先されます。サービス・コンポーネント・レベル設定はBPELプロセスについてのみ使用可能であり、Oracle Mediator、ヒューマン・ワークフローおよびビジネス・ルール・サービス・コンポーネントについてはサポートされていません。
BPELプロセス・サービス・コンポーネントの監査レベルを設定する方法は2つあります。サポートされる値は、「オフ」、「最小」、「継承」、「開発」および「本番」です。
BPELプロセス・サービス・コンポーネントに監査レベルを設定する手順は、次のとおりです。
Oracle Enterprise Manager Fusion Middleware Controlの「システムMBeanブラウザ」で、次の手順を実行します。
ナビゲーション・ツリーで「SOA」フォルダを開きます。
「soa-infra」を右クリックして、「管理」→「システムMBeanブラウザ」の順に選択します。
「アプリケーション定義のMBean」→「oracle.soa.config」→「サーバー: server_name」→「SCAComposite」→「Composite_Name」→「SCAComposite.SCAComponent」→「BPEL_Service_Component」→「プロパティ」の順に選択します。
「追加」アイコンをクリックします。
「Element_number」フォルダを開きます。
複数リストから、「False」を選択します。
「名前」フィールドに、bpel.config.auditlevel
と入力します。
「値」フィールドに値を入力します。
「適用」をクリックします。
Oracle JDeveloperを使用する場合
bpel.config.auditLevel
プロパティに、SOAプロジェクトのcomposite.xml
ファイル内の該当する値を設定します。
<component name="BPELProcess">
<implementation.bpel src="BPELProcess.bpel" />
<property name="bpel.config.auditLevel">Off</property>
</component>
監査レベルの詳細は、第1.4.1.1項「監査レベル設定の優先順位の概要」を参照してください。