10.3.4. オブジェクトの構築と破棄


JBoss Transaction Serviceオブジェクトは、1)回復可能、2)永続的、3)回復可能かつ永続的、あるいは4)回復可能でも永続的でもないの内のいずれかとなっています。これらの属性はオブジェクト構築時にのみ設定可能です。そのため、LockManagerは取得したクラスが利用できるように、保護コンストラクタを2つ提供し、以下のような明確な目的を果たします。
LockManager ()
以前のステートを持たない新規オブジェクトの作成ができます。
LockManager(int ObjectType, ObjectName attr)
以前のステートを持たない新規オブジェクトを作成できます。ObjectTypeパラメータはオブジェクトは回復可能 (recoverable)、回復可能かつ永続的 (ANDPERSISTENTで示される)、いずれでもない (NEITHER) で表します。オブジェクトが永続的と登録されると、その状態がオブジェクトストアの1つに格納されます。shared パラメータは、オブジェクトがRECOVERABLEの場合のみ意味を持ちます。attrがnull でなく、オブジェクトモデルがSINGLE (デフォルトの動作) であれば、オブジェクトの回復可能な状態がそのオブジェクト自体に保持されます。そうでない場合は、オブジェクトのステートは、各アトミックアクションの間にインメモリオブジェクトストアの中に格納されます。
新規永続オブジェクトのコンストラクタは、そのコンストラクタ内でアトミックアクションを使うはずです。こうすることで、コンストラクタ内のアクションがコミットされるとオブジェクトのステートがオブジェクトストアに自動的に書き込まれるようにします。あるいは、コンストラクタ内にアクションが存在する場合は、適切なトップレベルアクションのコミット時にオブジェクトストアに自動書き込みされます。
LockManager(Uid objUid)
objUid パラメータにて指定された既存の永続オブジェクトへアクセスができるようになります。オブジェクトの以前のステート(objUid パラメータの値により特定) は、オブジェクトストアから自動的にロードされます。
LockManager(Uid objUid, ObjectName attr)
objUid パラメータで指定した既存の永続オブジェクトへアクセスできます。オブジェクトの以前のステートは、objUidの値により特定しますが、この状態は自動的のオブジェクトストアからロードされます。attrパラメータが nullではなく、かつオブジェクトモデルがSINGLE (デフォルト動作) の場合、オブジェクトは各トップレベルトランザクションの開始時に再アクティベートされません。
プログラマ定義クラスのデストラクタは、継承した操作であるterminateを呼び出し、オブジェクトが破棄予定であることをステート管理メカニズムに通知する必要があります。そうでない場合は、予期せぬ結果が発生してしまう可能性があります。
LockManager クラスは StateManagerから継承するため、提供されたObjectName インスタンスをStateManager クラスに渡します。同様に、StateManagerオブジェクトモデルを前述したように設定することができます。
トップに戻る
Red Hat logoGithubredditYoutubeTwitter

詳細情報

試用、購入および販売

コミュニティー

Red Hat ドキュメントについて

Red Hat をお使いのお客様が、信頼できるコンテンツが含まれている製品やサービスを活用することで、イノベーションを行い、目標を達成できるようにします。 最新の更新を見る.

多様性を受け入れるオープンソースの強化

Red Hat では、コード、ドキュメント、Web プロパティーにおける配慮に欠ける用語の置き換えに取り組んでいます。このような変更は、段階的に実施される予定です。詳細情報: Red Hat ブログ.

会社概要

Red Hat は、企業がコアとなるデータセンターからネットワークエッジに至るまで、各種プラットフォームや環境全体で作業を簡素化できるように、強化されたソリューションを提供しています。

Theme

© 2025 Red Hat