Oracle® Fusion Middleware Oracle SOA SuiteおよびOracle Business Process Management Suite管理者ガイド 11g リリース1 (11.1.1.5.0) B55916-05 |
|
前 |
次 |
この章では、BPELプロセス・サービス・コンポーネントとサービス・エンジンの構成方法について説明します。
この章の内容は、次のとおりです。
BPELプロセス・サービス・エンジン・プロパティを構成でき、このプロパティは、BPELサービス・コンポーネントの処理時に、BPELプロセス・サービス・エンジンで使用されます。
BPELプロセス・サービス・エンジン・プロパティを構成する手順は、次のとおりです。
次のいずれかのオプションを使用して、このページにアクセスします。
SOAインフラストラクチャのメニューから... | ナビゲータのSOAフォルダから... |
---|---|
|
|
「BPELサービス・エンジン・プロパティ」ページに、監査証跡しきい値と大容量ドキュメントしきい値の設定、ディスパッチャ・スレッド・プロパティの設定、ペイロード・スキーマの検証、および監査証跡レベルの設定を行うためのプロパティが表示されます。
使用環境に適するようにサービス・エンジン・プロパティを変更します。
「適用」をクリックします。
システムMBeanブラウザで拡張BPELプロパティを構成するには、「詳細BPEL構成プロパティ」をクリックします。表示されるプロパティの一部を次に示します。各プロパティには説明が記載されています。
BpelcClasspath: BPELで生成されたJavaソースをコンパイルするときに含める追加BPELクラスのパス。
DisableAsserts: BPELでアサーションの実行を無効化します(bpelx:assert
アクティビティを含む)。
DisableSensors: センサーへのすべての呼出しを無効にします。
ExpirationMaxRetry: 失敗した期限切れ呼出し(wait/onAlarm)が失敗するまでに再試行される最大回数。
InstanceKeyBlockSize: 1回のフェッチごとにデハイドレーション・ストアから割り当てられるインスタンスIDのブロック・サイズ。
MaximumNumberOfInvokeMessagesInCache: メモリー内キャッシュに格納される起動メッセージ数。
MaxRecoverAttempt: 同一のリカバリ可能なインスタンスに発行する自動リカバリ試行の数。詳細は、第11.4項「起動メッセージおよびコールバック・メッセージの自動リカバリ試行の構成」を参照してください。
使用環境に適した変更を行います。
Oracle SOA Suiteには、Oracle Enterprise Manager Fusion Middleware Controlの自動リカバリ機能が備えられており、この機能を使用して、次のものを構成およびリカバリでます。
関連付けられた有効期限を持ち、再スケジュールされるSOAインフラストラクチャでスケジュールされる、すべてのアクティビティ(waitアクティビティやpickアクティビティのOnAlarmブランチなど)
指定されたしきい値の時間内に完了しないすべてのアクティビティ
未解決のすべての起動メッセージおよびコールバック・メッセージ
自動リカバリを構成するには、次の手順を実行します。
ナビゲータで、「soa-infra」を右クリックし、「SOA管理」→「BPELプロパティ」の順に選択します。
「詳細BPEL構成プロパティ」をクリックします。
「名前」列で「RecoveryConfig」をクリックします。
RecurringScheduleConfigを展開します。
このセクションでは、繰返しのリカバリ試行を構成できます。
次のプロパティを環境に適した値に設定し、「適用」をクリックします。
プロパティ | 説明 |
---|---|
maxMessageRaiseSize | 繰り返されるリカバリ試行ごとに送信するメッセージの最大数。サーバーに対するリカバリの影響を制限するには、このプロパティを使用します。この値は、アクティビティ、起動およびコールバックの問合せからフィルタするメッセージの最大数を指定するもので、つまり、アクティビティ表、呼出し表およびコールバック表のそれぞれからの50メッセージです。
デフォルト値は |
startWindowTime | 日次リカバリ・ウィンドウの開始時刻であり、24時間の表記法で指定します。したがって、午後2:00は14:00 と指定します。時間が1桁の値の場合、先頭のゼロを指定する必要はありません(1:00 -9:00 )。
デフォルト値は午前0時( |
stopWindowTime | 日次リカバリ・ウィンドウの停止時刻であり、24時間の表記法で指定されます。したがって、午後2:00は14:00 と指定されます。時間が1桁の値の場合、先頭のゼロを指定する必要はありません(1:00 -9:00 )。
日次リカバリを行わない場合、開始ウィンドウ時刻と停止ウィンドウ時刻を同じ値に設定します。停止ウィンドウ時刻が開始ウィンドウ時刻よりも前である場合は、開始ウィンドウ時刻と停止ウィンドウ時刻の両方が、それぞれのデフォルト値に変更されます。 デフォルト値は午前0時( 解析された時刻が無効な値である場合は、デフォルトで |
subsequentTriggerDelay | 日次の繰返し起動リカバリ期間内での、リカバリ試行間の秒数。次のリカバリ・トリガーが現在のリカバリ期間の外になる場合、そのトリガーは次の繰返しリカバリ期間(翌日)までスケジュールされません。
デフォルト値は |
threshHoldTimeInMinutes | これは自動リカバリ処理を無視する分単位のしきい値の時間です。自動的な起動およびコールバック・リカバリの場合、この値は受信日付がしきい値の時間よりも小さいメッセージを選出するために使用されます。
自動アクティビティ・リカバリの場合、この値は修正日付がしきい値の時間よりも小さいアクティビティを選出するために使用されます。 このプロパティによって、BPELプロセス・サービス・エンジンがリカバリ目的でメッセージを選択するとき、サービス・エンジンの別のスレッドがそのメッセージを処理しているというメッセージ競合のシナリオを回避します。このプロパティによって、サービス・エンジンのリカバリ部分は、threshHoldTimeInMinutesの値よりも古いメッセージについてリカバリを試行するようになります。 デフォルト値は |
「StartupScheduleConfig」を展開します。
このセクションでは、サーバー起動リカバリ試行を構成できます。
次のプロパティを環境に適した値に設定し、「適用」をクリックします。
プロパティ | 説明 |
---|---|
maxMessageRaiseSize | 起動リカバリ試行ごとに送信するメッセージの最大数。サーバーに対するリカバリの影響を制限するには、このプロパティを使用します。この値は、アクティビティ、起動およびコールバックの問合せからフィルタするメッセージの最大数を指定するもので、つまり、アクティビティ表、呼出し表およびコールバック表のそれぞれからの50 メッセージです。
デフォルト値は |
startupRecoveryDuration | 起動リカバリ期間が継続する秒数を指定します。サーバーが開始した後、起動リカバリ期間に入ります。この期間中、保留中のアクティビティと未配信のコールバック・メッセージおよび起動メッセージは処理のため再発行されます。
デフォルト値は |
subsequentTriggerDelay | サーバー起動リカバリ期間内でのリカバリ試行間の秒数。次のリカバリ・トリガーがサーバー起動期間の外になる場合、そのトリガーはスケジュールされず、サーバーは繰返しリカバリ期間に移行します。
デフォルト値は |
注意: クラスタ内では、別々のノードが同じ項目の自動リカバリを同時に試行する場合があります。最初のノードが項目をロックしてリカバリを試行し、別のノードは安全に無視できる例外を発生させることができます。 |
マスター・ノード・リカバリ・スケジューリングを使用するようにクラスタ環境を構成できます。この環境では、マスター・ノードは、クラスタ内のすべてのノードに対してリカバリを実行するための専用ノードです。
注意: この機能は、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にそれぞれ設定した繰り返しのリカバリ試行プロパティおよびサーバー起動リカバリ試行プロパティと関連して機能します。
次のプロパティを環境に適した値に設定し、「適用」をクリックします。
注意: インスタンスまたはメッセージがリカバリ可能になると、リカバリが試行されます。ただし、試行回数は追跡されません。リカバリが失敗すると、同じレコードを取得して試行し、再度失敗することを続けます。 |
プロパティ | 説明 |
---|---|
clusterDbTimeRefresh | データベース時間のローカル・コピーをリフレッシュする頻度を指定します。別のコンピュータでのクロック・ドリフトが考慮されます。クラスタ内のすべてのノードは、正確さに関係なく、データベース時間に依存しています。
デフォルト値は |
heartBeatInterval | クラスタ内の他のノードによって公開されたメッセージを確認するために、ノードがクラスタ・メッセージ表をポーリングする頻度を指定します。
デフォルト値は 次のタスクが各間隔で実行されます。
|
masteAliveThreshold | マスター・ノードが動作していると見なされる秒数を指定します。この秒数の間にクラスタにチェックインしていないマスター・ノードは、動作していないと見なされます。cluster_master 表で排他ロックを取得するノードはどれでも、この時点からマスター・ロールを要求できます。
デフォルト値は |
nodeReapInterval | 古いクラスタ・ノードとマークするためにハートビート・スレッドを流用する頻度を指定します。マスター・ノードのみがこのジョブを実行します。
デフォルト値は |
nodeReapThreshold | ノードが動作していると見なされる秒数を指定します。この秒数の間にクラスタにチェックインしていないノードは、動作していないと見なされます。ハードビート・サイクル中に、マスター・ノードはcluster_node 表をクリーン・アップしようとします。
デフォルト値は |
リカバリ可能な同じインスタンス内で発行する自動リカバリ試行の数を構成できます。入力した値によって、起動メッセージおよびコールバック・メッセージがリカバリされる最大回数が指定されます。値が0
(デフォルト値)の場合、すべてのメッセージがリカバリされます。1つのメッセージに対するリカバリ試行の数が、指定された値を超過すると、そのメッセージにはリカバリ不能のマークが付けられます。
起動メッセージおよびコールバック・メッセージのリカバリ試行を自動的に構成するには、次の手順を実行します。
ナビゲータで、「soa-infra」を右クリックし、「SOA管理」→「BPELプロパティ」の順に選択します。
「詳細BPEL構成プロパティ」をクリックします。
「MaxRecoverAttempt」に移動します。
「値」フィールドに値を入力します。
「適用」をクリックします。
起動メッセージおよびコールバック・メッセージのリカバリの詳細は、第13.4項「BPELプロセス・サービス・エンジンのメッセージ・リカバリの実行」を参照してください。
BPELプロセス・サービス・コンポーネントには監査レベルを設定できます。この設定は、SOAインフラストラクチャ、サービス・エンジン、SOAコンポジット・アプリケーションの各レベルの監査レベル設定より優先されます。サービス・コンポーネント・レベル設定はBPELプロセスについてのみ使用可能であり、メディエータ、ヒューマン・ワークフローおよびビジネス・ルール・サービス・コンポーネントについてはサポートされていません。
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項「監査レベル設定の優先順位の概要」を参照してください。