10.3.3. ロックポリシー


JBoss Transaction Service のロックは、特別なシステムタイプではなく、別のJBoss Transaction Service のオブジェクトインスタンスとなっています。ロックを永続化し、単純な形式にて命名できるようにLock クラスはStateManager から派生してます。さらに、LockManagerクラスは実際のロックリクエスト許可ポリシーに関するセマンティクスを把握していません。Lock クラスのインスタンスでこの情報を保持し、conflictsWith メソッドを提供しています。LockManagerがこれを使い2つのロックが矛盾しているかを判断します。このように分けることにより、基本的なLock クラスから新たなロックタイプを取得することができ、矛盾した操作に関する適切な定義を提供し同時実行レベルを改善することができます。
public class LockMode
{
    public static final int READ;
    public static final int WRITE;
};

public class LockStatus
{
    public static final int LOCKFREE;
    public static final int LOCKHELD;
    public static final int LOCKRETAINED;
};

public class Lock extends StateManager
{
    public Lock (int lockMode);
      
    public boolean conflictsWith  (Lock otherLock);
    public boolean modifiesObject ();
      
    public boolean restore_state (InputObjectState os, int ObjectType);
    public boolean save_state (OutputObjectState os, int ObjectType);
    public String type ();
    . . .
};
Copy to Clipboard Toggle word wrap
Lock クラスによりmodifiesObject メソッドが提供され、LockManager がそれを使いロッキングリクエストを許可するのに呼出しあるいはメソッドが必要かを判断します。こうすることで、単純な読み込みや書き込み以外のロッキングモードにも対応できるようになります。提供されたLock クラスは従来の multiple reader/single writer ポリシーに対応しています。
トップに戻る
Red Hat logoGithubredditYoutubeTwitter

詳細情報

試用、購入および販売

コミュニティー

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

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

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

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

会社概要

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

Theme

© 2025 Red Hat