Spring 記述子 XML ファイルを使用して、eXtreme Scale を構成して Spring と統合します。
以下のセクションにおいて、Spring objectgrid.xsd ファイルの各エレメントおよび属性が定義されています。
Spring objectgrid.xsd ファイルは、ogspring.jar ファイル、および
ObjectGrid 名前空間 com/ibm/ws/objectgrid/spring/namespace にあります。
記述子 XML スキーマの例については、Spring objectgrid.xsd ファイルを参照してください。
register エレメント
register エレメントを使用して、ObjectGrid のデフォルト Bean ファクトリーを登録します。
- 出現回数: 0 回から複数回
- 子エレメント: なし
属性- id
- 特定 ObjectGrid のデフォルト Bean ディレクトリーの名前を指定します。
- gridname
- ObjectGrid インスタンスの名前を指定します。この属性に割り当てられる値は、ObjectGrid 記述子ファイルに構成される有効な ObjectGrid に対応している必要があります。
<register
id="register id"
gridname="ObjectGrid name"
/>
server エレメント
server エレメントを使用して
サーバーを定義します。eXtreme Scale サーバーは、コンテナー、カタログ・サービス、またはその両方をホストすることができます。
- 出現回数: 0 回から複数回
- 子エレメント: なし
属性- id
- eXtreme Scale サーバーの名前を指定します。
- tracespec
- トレースのタイプを示し、サーバーのトレースおよびトレース仕様を使用可能にします。
- tracefile
- 作成して使用するトレース・ファイルのパスと名前を指定します。
- statspec
- サーバーの統計仕様を指定します。
- jmxport
- HA マネージャーが使用するポート番号を指定します。
このプロパティーが設定されていない場合、空きポートが選択されます。
このプロパティーは、WebSphere® Application Server 環境では無視されます。
- isCatalog
- 特定のサーバーがカタログ・サービスをホストするかどうかを指定します。
デフォルト値は false です。
- name
- サーバーの名前を指定します。
- haManagerPort
- HA マネージャーが使用するポート番号を指定します。
このプロパティーが設定されていない場合、空きポートが選択されます。
このプロパティーは、WebSphere Application Server 環境では無視されます。
- listenerHost
Internet Inter-ORB Protocol (IIOP) との通信用に、オブジェクト・リクエスト・ブローカー (ORB) がバインドする先のホスト名を指定します。この値は、完全修飾ドメイン名または IP アドレスである必要があります。ご使用の構成に複数のネットワーク・カードが含まれている場合は、リスナー・ホストとリスナー・ポートを設定し、バインドする IP アドレスを JVM 内のオブジェクト・リクエスト・ブローカーに通知します。使用する IP アドレスを指定しなければ、接続タイムアウトや異常な API 障害、クライアントがハングしたように見える状態などの症状が現れることがあります。
- listenerPort
- オブジェクト・リクエスト・ブローカー (ORB) がバインドする先のポート番号を指定します。この設定は、コンテナーおよびクライアントが ORB を介してカタログ・サービスと通信するように構成します。WebSphere Application Server では、listenerPort は BOOTSTRAP_ADDRESS ポート構成によって継承されます。このプロパティーは、コンテナー・サーバーとカタログ・サービスの両方に適用されます。
- maximumThreadPoolSize
- プール内のスレッドの最大数を設定します。
- memoryThresholdPercentage
- メモリー・ベース除去のメモリーしきい値 (最大ヒープのパーセンテージ) を設定します。
- minimumThreadPoolSize
- プール内のスレッドの最小数を設定します。
- workingDirectory
- すべての設定がデフォルトの場合に ObjectGrid サーバーが使用するディレクトリーを定義するプロパティーです。
- zoneName
- このサーバーが属するゾーンを定義します。
- enableSystemStreamToFile
- SystemOut および SystemErr をファイルに送信するかどうかを定義します。
- enableMBeans
- このプロセスで ObjectGrid が MBeans を登録するかどうかを決定します。
- serverPropertyFile
- ファイルからサーバー・プロパティーをロードします。
- catalogServerProperties
- サーバーをホストするカタログ・サーバーを指定します。
<server
id="server id"
tracespec="the server trace specification"
tracefile="the server trace file"
statspec="the server statistic specification"
jmxport="JMX port number"
isCatalog="true"|”false”
name="the server name”
haManagerPort="the haManager port"
listenerHost="the orb binding host name"
listenerPort="the orb binding listener port"
maximumThreadPoolSize="the number of maximum threads"
memoryThresholdPercentage="the memory threshold (percentage of max heap)"
minimumThreadPoolSize="the number of minimum threads"
workingDirectory="location for the working directory"
zoneName="the zone name"
enableSystemStreamToFile="true"|”false”
enableMBeans="true"|”false”
serverPropertyFile="location of the server properties file."
catalogServerProperties="the catalog server properties reference"
/>
catalog エレメント
catalog エレメントを使用して、データ・グリッド内のコンテナー・サーバーに経路指定します。
- 出現回数: 0 回から複数回
- 子エレメント: なし
属性- ホスト (host)
- カタログ・サービスが稼働しているワークステーションのホスト名を指定します。
- ポート (port)
- ホスト名と対になっているポート番号を指定します。この対によって、クライアントが接続できるカタログ・サービス・ポートが決まります。
<catalog
host="catalog service host name"
port="catalog service port number"
/>
catalogServerProperties エレメント
カタログ・サーバーのプロパティー・エレメントを使用して、カタログ・サービスを定義します。
属性- catalogServerEndPoint
- カタログ・サーバーの接続プロパティーを指定します。
- enableQuorum
- クォーラムを使用可能にするかどうかを決定します。
- heartBeatFrequencyLevel
- ハートビートの頻度レベルを設定します。
- domainName
- 複数カタログ・サービス・ドメインに経路指定する際にクライアントに対してこのカタログ・サービス・ドメインを固有に識別するために使用するドメイン・ネームを定義します。
- clusterSecurityURL
- カタログ・サービスに固有のセキュリティー・ファイルの場所を設定します。
<catalogServerProperties
catalogServerEndPoint="a catalog server endpoint reference"
enableQuorum="true"|"false"
heartBeatFrequencyLevel="
HEARTBEAT_FREQUENCY_LEVEL_TYPICAL|
HEARTBEAT_FREQUENCY_LEVEL_RELAXED|
HEARTBEAT_FREQUENCY_LEVEL_AGGRESSIVE"
domainName="the domain name used to uniquely identify this catalog service domain"
clusterSecurityURL="the The cluster security file location.">
<foreignDomains>
<foreignDomain name="name_of_foreign_domain_1">
<endPoint host="catalog server host 1" port="2809"/>
<endPoint host="catalog server host 2" port="2809"/>
</foreignDomain>
<foreignDomain name="name_of_foreign_domain_2">
<endPoint host="catalog server host 3" port="2809"/>
<endPoint host="catalog server host 4" port="2809"/>
</foreignDomain>
</foreignDomains>
</catalogServerProperties>
foreignDomains エレメント
foreignDomains エレメントを使用して、他のカタログ・サービス・ドメインのリストに接続します。各カタログ・サービス・ドメインの名前と、各カタログ・サービス・ドメイン内のカタログ・サーバーのエンドポイントを含める必要があります。
foreignDomain エレメント
接続するカタログ・サービス・ドメインの名前を示します。この名前は、catalogServiceProperties エレメントの
domainName 属性で定義します。
endPoint エレメント
指定された外部カタログ・サービス・ドメインのカタログ・サービス・エンドポイントのリストを示します。
- 出現回数: 1 回から複数回
- 親エレメント: foreignDomain エレメント
- 子エレメント: なし
- 属性
- ホスト (host)
- カタログ・サービス・ドメイン内のカタログ・サーバーの 1 つのホスト名を指定します。
- ポート (port)
- カタログ・サービス・ドメイン内のカタログ・サーバーの 1 つのポートを指定します。
カタログ・サーバー・エンドポイント・エレメント
カタログ・サーバー・エンドポイント・エレメントを使用して、カタログ・サーバー・エレメントが使用するカタログ・サーバー・エンドポイントを作成します。
- 出現回数: 0 回から複数回
- 子エレメント: なし
属性- serverName
- 起動しようとしているプロセスを識別する名前を指定します。
- hostName
- サーバーを起動するマシンのホスト名を指定します。
- clientPort
- ピア・カタログ・クラスター通信に使用されるポートを指定します。
- peerPort
- ピア・カタログ・クラスター通信に使用されるポートを指定します。
<catalogServerEndPoint
name="catalog server endpoint name"
host=""
clientPort=""
peerPort=""
/>
container エレメント
container エレメントを使用して、データそのものを保管します。
- 出現回数: 0 回から複数回
- 子エレメント: なし
属性- objectgridxml
- 使用する記述子 XML ファイルのパスと名前を指定します。このファイルは、マップ、ロック・ストラテジー、プラグインなどの ObjectGrid の特性を指定します。
- deploymentxml
- 記述子 XML ファイルと一緒に使用する XML ファイルのパスと名前を指定します。
このファイルは、区画化、レプリカ生成、初期コンテナーの数、およびその他の設定を決定します。
- server
- コンテナーがホストされるサーバーを指定します。
<server
objectgridxml="the objectgrid descriptor XML file"
deploymentxml ="the objectgrid deployment descriptor XML file "
server="the server reference "
/>
JPALoader エレメント
JPALoader エレメントを使用して、ObjectMap API の使用時に
ObjectGrid キャッシュと既存のバックエンド・データ・ストアを同期します。
- 出現回数: 0 回から複数回
- 子エレメント: なし
属性- entityClassName
- EntityManager.persist および EntityManager.find などの JPA の使用を可能にします。
entityClassName 属性は、JPALoader で必須です。
- preloadPartition
- マップ・プリロードが開始される区画番号を指定します。
この値がゼロより小さいか、あるいは、(totalNumberOfPartition – 1) より大きい場合、マップ・プリロードは開始されません。
<JPALoader
entityClassName="the entity class name"
preloadPartition ="int"
/>
JPATxCallback エレメント
JPATxCallback エレメントを使用して、
JPA および ObjectGrid トランザクションを調整します。
- 出現回数: 0 回から複数回
- 子エレメント: なし
属性- persistenceUnitName
- JPA EntityManagerFactory を作成し、persistence.xml ファイルで JPA エンティティー・メタデータを検索します。
persistenceUnitName 属性は必須です。
- jpaPropertyFactory
- パーシスタンス・プロパティー・マップを作成し、デフォルトのパーシスタンス・プロパティーをオーバーライドするためのファクトリーを指定します。
この属性は、Bean を参照します。
- exceptionMapper
- JPA 固有あるいはデータベース固有の例外マッピング機能に使用できる ExceptionMapper プラグインを指定します。
この属性は、Bean を参照します。
<JPATxCallback
persistenceUnitName="the JPA persistence unit name"
jpaPropertyFactory ="JPAPropertyFactory bean reference"
exceptionMapper="ExceptionMapper bean reference"
/>
JPAEntityLoader エレメント
JPAEntityLoader エレメントを使用して、
EntityManager API の使用時に
ObjectGrid キャッシュと既存のバックエンド・データ・ストアを同期します。
- 出現回数: 0 回から複数回
- 子エレメント: なし
属性- entityClassName
- EntityManager.persist および EntityManager.find などの JPA の使用を可能にします。
entityClassName 属性は、JPAEntityLoader エレメントでオプションです。このエレメントが構成されていないと、ObjectGrid エンティティー・マップに構成されているエンティティー・クラスが使用されます。
ObjectGrid EntityManager と JPA プロバイダーには、同じクラスが使用される必要があります。
- preloadPartition
- マップ・プリロードが開始される区画番号を指定します。
この値がゼロより小さいか、あるいは、(totalNumberOfPartition – 1) より大きい場合、マップ・プリロードは起動されません。
<JPAEntityLoader
entityClassName="the entity class name"
preloadPartition ="int"
/>
LRUEvictor エレメント
LRUEvictor エレメントを使用して、マップがその最大エントリー数を超えたときに除去するエントリーを決定します。
- 出現回数: 0 回から複数回
- 子エレメント: なし
属性- maxSize
- エビクターの介入が必要になる、キュー内の合計エントリー数を指定します。
- sleepTime
- マップへの必要なアクションを決定するための、マップ・キューに対する除去スイープの時間間隔を秒単位で設定します。
- numberOfLRUQueues
- マップ全体の大きさの単一キューにならないように、エビクターがスキャンする必要があるキュー数の設定を指定します。
<LRUEvictor
maxSize="int"
sleepTime ="seconds"
numberOfLRUQueues ="int"
/>
LFUEvictor エレメント
LFUEvictor エレメントを使用して、マップがその最大エントリー数を超えたときに除去するエントリーを決定します。
- 出現回数: 0 回から複数回
- 子エレメント: なし
属性- maxSize
- エビクターの対処が必要になる、各ヒープに許可される合計エントリー数を指定します。
- sleepTime
- マップへの必要なアクションを決定するための、マップ・ヒープに対する除去スイープの時間間隔を秒単位で設定します。
- numberOfHeaps
- マップ全体の大きさの単一ヒープにならないように、エビクターがスキャンする必要があるヒープ数の設定を指定します。
<LFUEvictor
maxSize="int"
sleepTime ="seconds"
numberOfHeaps ="int"
/>
HashIndex エレメント
HashIndex エレメントを
Java リフレクションで使用し、オブジェクトの更新時にマップに保管されるオブジェクトを動的にイントロスペクトします。
- 出現回数: 0 回から複数回
- 子エレメント: なし
属性- name
- 索引の名前を指定します。これは各マップで固有である必要があります。
- attributeName
- 索引付けする属性の名前を指定します。
フィールド・アクセス索引の場合、属性名は、フィールド名と同等です。
プロパティー・アクセス索引の場合、属性名は、JavaBean と互換性のあるプロパティー名です。
- rangeIndex
- 範囲の索引付けを使用可能にするかどうかを示します。デフォルト値は false です。
- fieldAccessAttribute
- 非エンティティー・マップに使用されます。データのアクセスに getter メソッドが使用されます。
デフォルト値は false です。値に true を指定した場合、フィールドを使用してオブジェクトに直接アクセスします。
- POJOKeyIndex
- 非エンティティー・マップに使用されます。デフォルト値は false です。値を true と指定した場合、索引は、マップのキー部分でオブジェクトをイントロスペクトします。この検査は、キーが複合キーで、値にキーが組み込まれていない場合に役立ちます。値を設定しないか、または値に false を設定した場合、索引は、マップの値部分でオブジェクトをイントロスペクトします。
<HashIndex
name="index name"
attributeName="attribute name"
rangeIndex ="true"|"false"
fieldAccessAttribute ="true"|"false"
POJOKeyIndex ="true"|"false"
/>