10.3. ロック管理と同時実行制御


JBoss Transaction Sevice の同時実行制御に関する情報はロックにより保持されます。これらのロックの一部は、複数のオブジェクトにより様々なプロセスで利用されます。このロックは、ステート情報に利用するオブジェクトストアと同じように、ロックストアに保存することができます。JBoss Transaction Service で利用するロックストアには制限付きのインターフェースがあり、実装に柔軟性を保ちます。ロックストアは、Unix ファイルシステムで様々な形式にて、あるいはリモートでもアクセスできるストアとして、共有メモリに実装することができます。

注記

JBoss Transaction Service クラスでは、デフォルトのロックストアは pure Java 実装となっており、複雑なロック実装を利用したい場合、ネーティブのメソッドを使う必要があります。

例10.8 LockStore クラスの例

public class LockStore
{
    public abstract InputObjectState read_state (Uid u, String tName)
	throws LockStoreException;
    
    public abstract boolean remove_state (Uid u, String tname);
    public abstract boolean write_committed (Uid u, String tName,
					     OutputObjectState state);
};
Copy to Clipboard Toggle word wrap

10.3.1. ロックストアの情報を選択

JBoss Transaction Service は複数のオブジェクトストア実装に対応しています。利用しているオブジェクトモデルがSingleの場合、オブジェクトの情報がロックストアからエクスポートされないため、ロックの保持にロックストアは必要ありません。しかし、Multiple モデルを使う場合、様々なランタイム環境により同時実行制御の情報を共有する必要がある場合があります。ロックストアの実装タイプを指定し、com.arjuna.ats.txoj.lockstore.lockStoreType プロパティを使い指定の実行環境内にて全オブジェクトに対して利用することができます。この変数は以下のいずれかになります。
BasicLockStore
これはインメモリ実装で、実行環境間における格納情報の共有には対応していません。必要であれば拡張しこの機能を含めることもできます。
BasicPersistentLockStore
これは、デフォルト実装です。ロック情報をローカルファイルシステムに格納します。同じファイルストアを共有する実行環境は、同時実行制御の情報を共有することができます。ロッキング情報が書き込まれるファイルシステムのルートは、Jboss Trasaction Service installationのディレクトリ内にある LockStore/ ディレクトリとなっています。この場所をオーバーライドするには、適宜にcom.arjuna.ats.txoj.lockstore.lockStoreDir を設定するか、CLASSPATHに場所を含めます。

lockStoreDir のプロパティをオーバーライドする方法

  • java -D com.arjuna.ats.txoj.lockstore.lockStoreDir=/var/tmp/LockStore myprogram
  • java –classpath $CLASSPATH;/var/tmp/LockStore myprogram
トップに戻る
Red Hat logoGithubredditYoutubeTwitter

詳細情報

試用、購入および販売

コミュニティー

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

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

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

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

会社概要

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

Theme

© 2025 Red Hat