10.2.4. オブジェクトモデル


JBoss Transaction Service はオブジェクトに対して2種のモデルをサポートしています。ステートおよび同時実行制御の実装は、どのモデルを利用しているかにより変化します。
シングル
アプリケーションには、オブジェクトのコピーが1つのみ含まれています。このオブジェクトは1つのJVM内に置かれており、クライアントはすべてサーバーへの呼出しに対応する必要があります。単一モデルでは、パフォーマンスが優れていますが、SPOF (Single Point of Failure)を生み出します。マルチスレッドの環境では、1つのスレッドに障害が起こると、オブジェクトを障害から守ることができません。
シングルオブジェクトモデル
複数
論理的には、オブジェクトのインスタンスは1つ存在します。オブジェクトの複製が複数のJVM間に分散されているのです。パフォーマンスはシングルモデルに比べると劣りますが、障害からはうまく隔離されます。
複数オブジェクトモデル
singleモデルがデフォルトとなっています。オブジェクト作成時にcom.arjuna.ats.arjuna.gandiva.ObjectNameクラスの適切なインスタンスを提供することで、オブジェクト毎にこれをオーバーライドすることができます。

注記

オブジェクトのインスタンス化前にモデルを変更することができますが、オブジェクトが有効な間、同じ状態に保つのであれば変更は必要ありません。
以下のメソッドを使い適切なObjectName クラスを提供します。例については例10.6「オブジェクトモデル」 を参照してください。
  1. ObjectNameの新規インスタンスを作成します。
  2. com.arjuna.ats.arjuna.ArjunaNames.StateManager_objectModel()名を使いオブジェクトモデルの属性を設定します。

例10.6 オブジェクトモデル

{
    ObjectName attr = new ObjectName(“SNS:myObjectName”);
      
    attr.setLongAttribute(ArjunaNames.StateManager_objectModel(),
			  ObjectModel.SINGLE);
      
    AtomicObject obj = new AtomicObject(ObjectType.ANDPERSISTENT, attr);
}
Copy to Clipboard Toggle word wrap
トップに戻る
Red Hat logoGithubredditYoutubeTwitter

詳細情報

試用、購入および販売

コミュニティー

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

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

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

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

会社概要

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

Theme

© 2025 Red Hat