トランザクション セマンティクスとステート フルネスは、EJB3 での実装の詳細と見なされます。実装は、Bean 管理のトランザクションを使用するかコンテナー管理のトランザクションを使用するかを決定できます。コンテナ管理トランザクションのタイプを決定できます。ステートフルかステートレスかを判断できます。
ただし、論理的には、これらは重要なインターフェイスの詳細です。例: (a) Bean 管理のトランザクションを使用する Bean は、コンテナー管理のトランザクションを使用する Bean を呼び出すことはできません。(b) ステートレス Bean はステートフル Bean を呼び出すことができません。
EJB3 インターフェースが提示されたとき、必要なトランザクション セマンティクスの種類がわかりません。同様に、ステートフルかステートレスかはわかりません。追加の実装の詳細が必要です。例: ドキュメント。
実行時に、さまざまな Bean と呼び出しチェーンを動的にインスタンス化できます。したがって、無効な状態が発生する可能性があります。現在 - コンテナはこれらの状況をトラップできます。しかし、なぜランタイムまで待つのですか?
トランザクションのセマンティクスと完全な状態の要件がインターフェイスの一部ではないのはなぜですか?