Tips >
S2Dao Tips †
トランザクションインタセプタの特性 †
- 各トランザクションインタセプタの基底クラスである S2Dao_AbstractTxInterceptor? は、コンストラクタの中でデータソースを使ってコネクションオブジェクト(たとえば、データベースならばPDOオブジェクト)を取得してしまっています。これは、データベース接続に障害がある場合には、トランザクションインタセプタのインスタンス化が失敗し、インジェクション先のコンポーネント(通常はサービス層のオブジェクト)の取得にも失敗することを意味します。データベース接続状態が、コンポーネントの構築に影響してしまっています。
- 回避策としては、この影響が伝播しないように、トランザクションインタセプタをインジェクトするサービスコンポーネントを小さく作成し、できる限り他のコンポーネントにインジェクトしないようにします。