アプリケーションに比較的簡単なデータ アクセスの要求があり、リレーショナル データベースを使用できない場合は、StoreManager
を使用してファイルベースのソリューションを実装します。
StoreManager
を使用すれば、JDBC を使用しなくてもデータまたはエンティティBean をファイル ベースのストアに保持できます。プライマリ キーを使用するとインスタンスを保存し、後で取得できます。ストアをバックアップする既定の instance.store
ファイルは runtime
ディレクトリに作成されます。
JRun には、instance.store
というファイルベースの拡張可能なトランザクション処理パーシスタンス メカニズムが用意されています。リレーショナル データベースの使用が望ましくない場合やリレーショナル データベースが使用できない場合は、このメカニズムを使用してエンティティ Bean を保持します。
Store
インターフェイスは、公開済み Bean によるインスタンスのステートの保存に使用できる JDBC を使用しないパーシスタント ストアを表します。このインターフェイスでは、サーバーが使用するパーシスタンス メカニズムのカスタマイズをサポートします。
配信されたものとして instance.store
を使用したり、Store
インターフェイスを使用して instance.store
を拡張できます。DefaultStore
実装をサブクラス化するか、または Store
インターフェイスを異なる方法で実装すると、JRun で instance.store
メカニズムをカスタマイズできます。
instance.store
にストアされているすべてのオブジェクトは 1 つのキーに関連付けられています。既定の実装では、キーは関連付けられたオブジェクトのプライマリ キーのことです。プライマリ キーを使用して、ストアからインスタンスのステートを更新、取得、または削除できます。
Store
の既存の実装の詳細については、JRun JavaDocs ファイルに付属する API マニュアルの DefaultStore
を参照してください。
JRun には、instance.store
を管理するプロパティが 2 つあります。
ejipt.storeName
プロパティを使用してストアの名前を変更したり、ストアの複数のインスタンスを作成できます。JRunでは、Bean ごとに固有のストアを持つことができます。ejb-jar.xml
の特定の Bean に ejipt.storeName
env-entry
を設定すると、その Bean は固有のデータ ストアを持つようになります。個々の Bean にこのプロパティを指定すると、実行時ディレクトリ内のストアはその Bean の持続インスタンスを含むストアの名前を持つようになります。local.properties
または deploy.properties
ファイルでこのプロパティを指定して、コンテナ内で公開されるすべての Bean によって使用されるコンテナにオブジェクト ストアの名前を設定できます。指定されていない場合は、プロパティの既定の設定は instance.store
です。
ejipt.storeClassName
は Store
インターフェイスを実装するカスタム クラスを指定するためのプロパティです。カスタム クラスを使用して Store
の動作をカスタマイズします。カスタム ストアを実装しているときに、getStore()
メソッドを実装することを確認してください。ejipt.storeClassName
プロパティの既定の設定は allaire.ejipt.DefaultStore
です。