MQSI_PREPARE_MAPS_ON_DEPLOY 環境変数を TRUE に設定すると、フローの Mapping ノードで使われるグラフィカル・データ・マップの動作が変更されます。
WebSphere® Message Broker バージョン 8.0.0.4 以降、MQSI_PREPARE_MAPS_ON_DEPLOY 環境変数を TRUE に設定すると、フローの Mapping ノードで使われるグラフィカル・データ・マップの動作が変更されます。 この変数を TRUE に設定すると、最初のメッセージがノードを通過するときではなく、デプロイメントのときに、グラフィカル・データ・マップの実行準備が行われます。
表 1 は、この動作について、古い動作と比較して説明しています。
以下の表は、MQSI_PREPARE_MAPS_ON_DEPLOY 環境変数を TRUE に設定した場合と設定しない場合のグラフィカル・データ・マップの動作を比較しています。
イベント | MQSI_PREPARE_MAPS_ON_DEPLOY の設定なし (デフォルトの動作) | MQSI_PREPARE_MAPS_ON_DEPLOY を TRUE に設定 |
---|---|---|
BAR デプロイメント (最初のデプロイメントおよび再デプロイメント) | マップ・リソースが構成ストアに保存されます。 |
BAR ファイルに含まれているが、(例えば、実行されないメッセージ・フローの分岐に存在していたために) これまで使用されなかったマップが、デプロイメント時に検証されるようになります。 その結果、それらのエラーが原因でデプロイメントが拒否されるようになる可能性があります。 |
デプロイメントの後 | アクションなし | 準備済みのマップ・リソースを初期化するバックグラウンド・プロセスが起動され、JIT の最適化が可能になります。 完了すると、新しい形式が保存されます。 |
デプロイメントまたは再デプロイメントの後に最初のメッセージが通過する | メッセージによって起動される各 Mapping ノードから呼び出される特定のマップの実行準備が行われ、JIT 最適化が可能になります。
このプロセスを行うには、マップのすべての依存関係、スキーマ、ESQL、Java などが存在すること、および無効な Xpath 式などの静的エラーがマップに含まれていないことが必要です。 これらの要件が満たされない場合、メッセージは拒否され、その原因が、マップ生成の失敗を示す BIP メッセージとして報告されます。 |
既に準備済みのマップが実行されます。 バックグラウンド・プロセスが完了すると、JIT 最適化が開始されます。 |
デプロイメントまたは再デプロイメントの後に後続のメッセージが通過する | メッセージがフロー内の同じ Mapping ノードを呼び出した場合、既に準備済みのマップが実行され、JIT 最適化が行われます。
メッセージの結果としてメッセージ・フロー内に新しい実行パスが生じ、追加の Mapping ノードが検出された場合は、前述の「デプロイメントまたは再デプロイメントの後に最初のメッセージが通過する」と同じように追加のマップの準備が必要になります。 |
既に準備済みのマップが実行されます。 バックグラウンド・プロセスが完了すると、JIT 最適化が開始されます。 |
以下のいずれかの項目が再起動される
|
デプロイされているマップ参照が検証されます。 |
機能レベルを設定した後に初めて再起動したとき、すべてのマップが準備されます (これには検証が含まれます)。 |
再起動後の最初のメッセージの通過 | メッセージによって起動される各 Mapping ノードから呼び出される特定のマップの実行準備が行われ、JIT 最適化が可能になります。
このプロセスを行うには、マップのすべての依存関係、スキーマ、ESQL、Java などが存在すること、および無効な Xpath 式などの静的エラーがマップに含まれていないことが必要です。 これらの要件が満たされない場合、メッセージは拒否され、その原因が、マップ生成の失敗を示す BIP メッセージとして報告されます。 |
既に準備済みのマップが実行されます。 バックグラウンド・プロセスが完了すると、JIT 最適化が開始されます。 |
再起動後の後続のメッセージ | メッセージがフロー内の同じ Mapping ノードを呼び出した場合、既に準備済みのマップが実行され、JIT 最適化が行われます。
メッセージの結果としてメッセージ・フロー内に新しい実行パスが生じ、追加の Mapping ノードが検出された場合は、前述の「再起動後の最初のメッセージの通過」と同じように追加のマップの準備が必要になります。 |
既に準備済みのマップが実行されます。 バックグラウンド・プロセスが完了すると、JIT 最適化が開始されます。 |