第1章 はじめに
JBoss Transaction Serviceではほとんど管理タスクが生成されません。JBoss Transaction Service は基盤のオペレーティングシステムやインフラストラクチャが正しく機能しているかにより影響を受けます。管理者として、以下に留意してください。
- JBoss Transaction Serviceは、セキュリティ層を提供せず、JBoss Transactions Object Store に格納されるオブジェクトは通常、そのオブジェクトを作成したアプリケーションを実行しているユーザが所有することになります。 Object Store および Object Manager の機能はオブジェクトの所有を強化するものではなく、Transaction Manager は、オブジェクトの所有について確認や強化は行いません。
- Object Store で作成された永続オブジェクトは、
StateManager.destroy
メソッドが オブジェクト上で呼び出されない限り、あるいは、あるアプリケーションプログラムが明示的にオブジェクトを削除しない限りは、決して消失することはありません。つまり、特にアプリケーション開発やテストフェーズにObject Store が徐々にガーベッジを集積していることを意味します。 JBoss Transaction Serviceでは、自動のガーベッジコレクション機能は存在しません。このようにガーベッジコレクションがないため、懸垂参照が作られてしまう可能性があります。懸垂参照の例を以下に示します。ObjectA と呼ばれる永続オブジェクトが永続オブジェクトであるObjectB の Uid をディスクにパッシブ表現で格納しているとします。アプリケーションは、ObjectA 内に ObjectB への参照を含んでいるにも拘らず、ObjectBを削除可能です。ObjectA が次回に有効化されObjectB にアクセスしようとすると、ランタイムエラーが発生します。 - JBoss Transaction Serviceには、クラス構成が変更になった場合、 データベースの再構成やオブジェクトのバージョン管理に関する機能はありません。 永続オブジェクトクラスの定義を変更する場合、Object Store にあるオブジェクトの既存インスタンスが新しい表現に変換されるようにしてください。JBoss Transactions Service ソフトウェアは新しいオペレーションバージョンで旧オブジェクトの状態への参照を検出あるいは修正することができません、 またこの逆もできません。
- オブジェクトストア管理はトランザクションサービスにとって非常に重要となります。