10.2.5. JBoss Transaction Service のメソッド参照

JBoss Transaction Service クラスのStateManager は、オブジェクトステートを管理し、リカバリ、永続性、あるいはリカバリと永続性両方で必要となる基本のサポートメカニズムをすべて提供します。操作によってはご自身で定義する必要があるものもあります。自身で定義する必要のある操作は、save_state, restore_statetypeです。
boolean save_state(OutputObjectState state, int ObjectType)
今後のリカバリや永続化に向けオブジェクトの状態を保存するために呼び出します。ObjectType パラメータは、呼出しの理由を指定します。指定することおで、リカバリ、永続化のいずれを望んでいるかによって、最初のパラメータとして提供されているOutputObjectStateに様々な情報を保存することができます。例えば、他のJBoss Transaction Service オブジェクトに対するポインタを、リカバリ用のポインタとして、永続化にはUIDとして保存することができます。OutputObjectState クラスは便利な操作を提供しており、Java の基本タイプすべてのインスタンスを保存することができます。永続オブジェクトのクラッシュリカバリに対応するには、 save_stateメソッドすべてにより、super.save_stateを呼び出す必要があります。

注記

save_state メソッドは、オブジェクトが内部で一貫性を持ち、全保存変数が有効な値を持つと仮定しています。コードを記述、テストし、正しいかどうか確認します。
boolean restore_state(InputObjectState state, int ObjectType)
オブジェクトを指定したステートにリストアします。2番目のパラメータは、提供したステートに対し様々な解釈をすることができます。永続オブジェクトのクラッシュリカバリに対応するには、restore_state メソッドすべてにより、super.restore_stateを呼び出す必要があります。
String type ()
JBoss Transaction Service の永続メカニズムには、オブジェクトのステートを保存しリストアできるように文字列としてオブジェクト型を確定する方法が必要です。慣例により階層内のクラスの位置を利用します。例えば、StateManager/LockManager/Objectなどです。

注記

typeメソッドは、特定クラスインスタンスのステートをオブジェクトストアのどの部分に保存するか決定します。実際これは、有効な文字列であれば何でも結構です。しかし、ハッシュ記号#はJBoss Transaction Service 用の特別なディレクトリとして確保しているため、#の利用は避けてください。