2.5.3 同時ではない同期トランザクション・サーバー(MAXACTIVE = 1 (ARTSTR1))
- CICSの場合:
- トランザクション・クラスに属するものとして定義されたトランザクションは、スケジューリング制約の影響を受けてからでないと、実行が可能になりません。
- アクティブなトランザクション・クラスに属するトランザクションがすでに実行されている場合、新しいトランザクションはすべてキューに登録されます。
- 実行するトランザクションの最大数を指定するためには、MAXACTIVE属性が使用されます。
- トランザクションをトランザクション・クラスに入れることによって、CICSがタスクをディスパッチする方法を制御できます。
- CICS Runtimeの場合:
- トランザクションのスケジューリングと、リソースがトランザクションのグループに対して与える影響とは、異なる方法で実行されます。トランザクションを提供するサーバーの数により、トランザクションのスケジューリングや、影響を受けるリソースの、トランザクションのグループに対する相対的な量が決定されます。
MAXACTIVE
1の特殊なケース:- このケースは非常に特殊で、アプリケーションの機能特性に影響を与えます。
- 同じクラスの2つのトランザクションが決して同時実行されないことが保証されます。ターゲット・プラットフォーム上で維持される相互排他的な動作を定義することで、アプリケーションの正しい動作が保証されます。
ARTSTRNサーバーは自動的に複数起動して並列処理を管理できるため、maxactive =1のtranclassに属する複数のトランザクションは、ARTSTRNサーバーで提供されません。
かわりに、専用タイプのサーバー(ARTSTR1
)がこのロールに割り当てられます。ARTSTR1
サーバーは、MAXACTIVE = 1
の1つのTRANCLASSに属する複数のトランザクションを公開し、maxactive =1の同じtranclassで2つのトランザクションが同時実行されないことを保証します。Tuxedoの言い方では、そのような2つのトランザクションが2台の異なるサーバーで公開されないことが保証されます。
相違点のまとめ。
-
ARTSTR1
:MAXACTIVE 1
tranclassに属するトランザクションを1回のみ公開します。 -
ARTSTRN
:MAXACTIVE >1
のトランザクションを、必要なだけの回数、公開します。