サービス インスタンスの状態
メッセージの処理時には、次の操作が行われます。
受信場所で、受信アダプタ (またはトランスポート コンポーネント) によって外部のアプリケーションからメッセージが受信され、そのメッセージが処理のために BizTalk Server に送信されます。
Note
メッセージは、XML、フラット ファイル、または企業間の電子データ交換 (EDI) として、さまざまな形式でシステムによって受信されます。
受信パイプラインによって、メッセージの解読、デコード、および逆アセンブルが実行されます。
メッセージング エンジンによって、メッセージとそのショートカット プロパティ (メッセージの種類や送信元など) がメッセージ ボックス データベースに送信されます。
条件に一致するサブスクリプションが見つかった場合、メッセージが一連のスキーマとマップに従って処理されます。また、ホスト サーバーにあるビジネス ルールやビジネス ポリシーに従って処理されることもあります。
処理後のメッセージがメッセージ ボックス データベースに保存され (書き込まれ) ます。 ショートカット プロパティは、使用する送信ポートなど、メッセージの送信先を示すように変更されています。
メッセージのショートカット プロパティが、送信ポートに定義されたフィルター式に対して評価されます。また、メッセージがメッセージ ボックス データベースから適切な送信ポートに配信されます。
送信されるメッセージが送信パイプラインや送信ポートに対するサブスクリプションの条件を満たしている必要があります。 メッセージは暗号化されてから送信されます。
このサイクルの各プロセスでは、独自のイベント セットが生成されます。
サービス インスタンス (受信ポート、オーケストレーション、送信ポート) は、BizTalk Server 内を移動するメッセージを処理するとき、いくつかある状態のうちのいずれかの状態になります。 このセクションでは、それらの状態について説明し、ライフサイクルのさまざまな時点における状態の例を示します。
サービス インスタンスの状態
次の表は、サービス インスタンスのさまざまな状態と、各状態の説明を示しています。
State | 説明 |
---|---|
ブレークポイント | アクティブなオーケストレーションがブレークポイント (通常は BizTalk Server ソリューション開発者によって設定されます) にヒットしたことを示します。 この状態は、オーケストレーションでのみ有効です。 |
実行準備完了 | アクティブ化されたサービス インスタンスの実行がまだ開始されていないことを示します。通常は、サーバーの処理負荷が高い場合など、リソースが一時的に使用できないときにこの状態になります。 |
アクティブ | サービス インスタンスが実行されていることを示します。 |
退避済み | インスタンスの状態がメッセージ ボックス データベースに保存されていて、そのインスタンスを実行している Windows サービスが存在しないことを示します。 |
メッセージを破棄して完了します。 | サービス インスタンスは完了しましたが、一部のメッセージはインスタンスによって使用されませんでした。 |
中断 (再開可能) | インスタンスが中断されていて、そのインスタンスを再開できることを示します。 重要: メッセージング インスタンスを再開すると、次の作業が行われます。
スケジュール済みのインスタンスを中断して再開すると、インスタンスは退避済み状態になることに注意してください。 |
中断 (再開不可) | インスタンスが中断されているが、そのインスタンスを再開できないことを示します。 インスタンスによって参照されているメッセージを保存してから、そのインスタンスを終了させることができます。 スケジュール済みのインスタンスを中断して再開すると、インスタンスは退避済み状態になることに注意してください。 |
中断の保留/終了の保留 | 独立した状態ではありません。 この状態は、他の状態と組み合わせることができます。 中断または終了するコントロール メッセージがサービス インスタンスに送信されたが、まだそのインスタンスによって取得されていないことを示します。 同時に保留できる操作は 1 つのみです。 保留中の操作が含まれたインスタンスが退避済みの状態になったら、そのインスタンスを終了させることができます。 |
追跡されるサービス インスタンスの状態
次の表は、サービス インスタンスの追跡状態と、各状態の説明を示しています。
State | 説明 |
---|---|
Started | 中断 (再開可能) 状態やブレークポイント状態のインスタンスを含め、メッセージ ボックス内に存在するすべてのサービス インスタンスは、BizTalk 追跡データベースでは "開始" として表示されます。 |
Completed | サービス インスタンスの処理が正常に終了していることを示します。 |
終了 | サービス インスタンスが強制終了されたことを示します。 |
メッセージの状態
次の表は、メッセージのさまざまな状態と、各状態の説明を示しています。
State | 説明 |
---|---|
使用量 | メッセージはサービス インスタンスによって現在処理されています。 |
処理中 | メッセージはエンジンに送られ、処理中です。 メッセージはメモリ内にあります。 |
キューに登録済み | キューに登録済み (処理の待機中)、キューに登録済み (配信スケジュール済み)、キューに登録済み (再試行の待機中) の各インスタンス状態が含まれます。 |
キューに入っている (処理を待機中) | 順次配送のシナリオで、先行するメッセージが順次配送の送信ポートによって再試行されていることを示します。 |
キューに登録済み (配信スケジュール済み) | メッセージは、サービス時間帯が設定されている送信ポートで送信を待機中です。 |
キューに入れられます (再試行を待機しています) | メッセージの送信先 URI が利用できないため、メッセージが関連付けられている送信ポートで再送信を試行中です。 |
中断済み | 中断 (再開可能) および中断 (再開不可) のインスタンス状態が含まれます。 |
中断 (再開可能) | メッセージに関連付けられているサービス インスタンスが中断しています。再開は可能です。 メッセージング インスタンスの再開では、次の動作を実行します。 - メッセージング インスタンスを再開します。 - メッセージを送信ポートに送信します。 - 送信ポートは、送信先にメッセージを配信します。送信ポートが開始状態でない場合でも。 |
中断 (再開不可) | メッセージに関連付けられているサービス インスタンスが中断しています。再開することはできません。 |
操作前後のインスタンス状態
次の表は、操作前と操作後の状態を示しています。
Note
開始時の状態と終了時の状態は、左側の列と上部の行に太字で記載されています。 操作は表の本文に記載されています。
開始時の状態 | 操作後の新しい状態 | ||||||
---|---|---|---|---|---|---|---|
ブレークポイント | アクティブ | 退避済み | 中断済み | 終了 | 終了の保留 | 中断の保留 | |
ブレークポイント | デバッガーからアタッチ | デバッガーから続行 | Windows サービスの停止 | Terminate | [中断] | ||
ブレークポイント (退避済み) | デバッガーからアタッチ | デバッガーから続行 | Windows サービスの停止 | [中断] | Terminate | ||
実行準備完了 | [中断] | Terminate | |||||
スケジュール | ランタイムがインスタンスを取得 (サービス時間帯は既に始まっているため) | ||||||
アクティブ | Windows サービスの停止 | Terminate | [中断] | ||||
退避済み | ランタイムがインスタンスを取得 | Windows サービスの停止 | [中断] | Terminate | |||
中断 (再開可能) | デバッガーでブレークポイントから再開 | 再開 | Terminate | ||||
中断 (再開不可) | Terminate | ||||||
終了 (メッセージ未消費) | Terminate | ||||||
中断の保留 | 接続を試行するが最終的には失敗 | Windows サービスの停止 | 要求を処理 | インスタンスを退避した場合のみ終了 | |||
終了の保留 | 接続を試行するが最終的には失敗 | Windows サービスを停止してインスタンスを退避 | 要求を処理またはインスタンスを退避 |
操作中のインスタンス状態
次の表は、インスタンスでシステムによって操作が実行されたときの状態の変化を示しています。
開始時の状態 | 操作 | |||||
---|---|---|---|---|---|---|
Terminate | [中断] | 再開 | ブレークポイントから再開 | 続行 | [アタッチ] | |
ブレークポイント | 終了 | Suspended | アクティブ | ブレークポイント | ||
ブレークポイント (退避済み) | 終了 | Suspended | アクティブ | ブレークポイント | ||
実行準備完了 | 終了 | Suspended | ||||
スケジュール | 終了 | Suspended | ||||
アクティブ | 終了 | Suspended | ||||
退避済み | 終了 | Suspended | ||||
中断 (再開可能) | 終了 | アクティブ | ブレークポイント | |||
中断 (再開不可) | 終了 | |||||
終了 (メッセージ未消費) | 終了 | |||||
中断の保留 | 終了。インスタンスを退避した場合のみ有効。 | 競合状態 | ||||
終了の保留 | 終了;は、インスタンスが脱水されている場合にのみ機能します | 競合状態 |
Note
競合状態は、システムからインスタンスに複数のコントロール メッセージが配信され、インスタンスでそれらのメッセージを処理する順序が保証されていない場合に発生します。