この付録では、REST構成デプロイメント・ディスクリプタに関する詳細リファレンスと、ディスクリプタの簡単な概要を示します。
この付録では次の項について説明します。
REST構成デプロイメント・ディスクリプタにより、REST実装の構成を指定します。ディスクリプタのデフォルト名はcoherence-rest-config.xml
で、クラスパス上で見つかる必要があります。tangosol.coherence.rest.config
システム・プロパティを使用して、名前をオーバーライドできます。例:
-Dtangosol.coherence.rest.config=MyConfig.xml
REST構成デプロイメント・ディスクリプタのスキーマは、coherence-rest-config.xsd
ファイルに定義されます。XSDファイルはcoherence.jar
ライブラリのルートにおいて次のWeb URLにあります。
http://xmlns.oracle.com/coherence/coherence-rest-config/1.1/coherence-rest-config.xsd
<rest>
要素は構成ファイルのルート要素で、一般的にXSDとCoherenceのネームスペース参照およびcoherence-rest-config.xsd
ファイルの場所が含まれています。例:
<?xml version='1.0'?> <rest xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xmlns="http://xmlns.oracle.com/coherence/coherence-rest-config" xsi:schemaLocation="http://xmlns.oracle.com/coherence/coherence-rest-config coherence-rest-config.xsd">
注意:
|
表A-1に、非終端REST構成要素のすべてを示します。
使用場所: aggregators
説明
aggregator
要素は、キャッシュにあるデータの集計に使用するカスタム・アグリゲータの定義に使用されます。各aggregator
要素には、アグリゲータ・クラスまたはアグリゲータのファクトリ・クラスと名前との間における単一バインディングが含まれている必要があります。
要素
表A-2でaggregator
要素の下位要素を説明します。
表A-2 aggregatorの下位要素
要素 | 必須/ オプション |
説明 |
---|---|---|
< |
必須 |
アグリゲータ・クラスまたはアグリゲータのファクトリ・クラスにバインドされるREST用URLで使用する名前を指定します。 |
< |
必須 |
名前にバインドされるカスタム・アグリゲータ・クラスまたはカスタム・アグリゲータのファクトリ・クラスの完全修飾名を指定します。このクラスは |
使用場所: rest
要素
表A-3でaggregators
要素の下位要素を説明します。
使用場所: query-engines
説明
engines
要素は、名前と問合せエンジン実装クラスとの間の単一バインディングを含みます。カスタム問合せエンジンには、com.tangosol.coherence.rest.query.QueryEngine
とcom.tangosol.coherence.rest.query.Query
インタフェースを実装する必要があります。カスタム実装は、com.tangosol.coherence.rest.query.AbstractQueryEngine
ベース・クラスも拡張します。これにより、問合せ式の分析やパラメータ・バインドの処理を実行する有用なメソッドが提供されます。
使用場所: resource
説明
キャッシュ・エントリのキーと値のクラスとマーシャリング処理クラス(それらのクラスのインスタンスでマーシャリングとアンマーシャリングに使用)との間におけるバインドがマーシャリング要素にはあります。
要素
表A-5でmarshaller
要素の下位要素を説明します。
表A-5 marshallerの下位要素
要素 | 必須/ オプション |
説明 |
---|---|---|
|
必須 |
マーシャリング用に使用するメディアの名前を指定します。CoherenceではXMLとJSONのデータ出力のデフォルト実装が用意されています。 |
|
必須 |
|
使用場所: processors
説明
processor
要素は、キャッシュにあるデータの処理に使用するカスタム入力プロセッサの定義に使用されます。各processor
要素には、プロセッサのファクトリ・クラスと名前との間における単一バインディングが含まれている必要があります。
使用場所: resources
説明
query
要素は、名前付き問合せを定義します。名前付き問合せにより、REST URLで構成済の問合せ式を名前で実行できます。
GET http://host:port/cacheName/namedQuery?param1=value1,param2=value2...
名前付き問合せ定義は、問合せ名と実行する問合せ式間のバインディングから成ります。リソースに対して複数の名前付き問合せを構成できます。この問合せ要素では、次の属性がサポートされています。
max-results
: 名前付き問合せに返す結果の最大数を指定します。この値は、<resource>
要素のmax-results
属性よりも優先されます。
engine
: キャッシュに対する問合せ式の実行を受け持つ問合せエンジンの実装を指定します。属性が指定されていない場合のデフォルト値はDEFAULT
であり、問合せ式をURLエンコードのCohQL式(CohQLの述語句)として指定する必要があることを示します。カスタム問合せエンジン実装の構成の詳細は、<query-engines>要素を参照してください。
使用場所: rest
使用場所: resources
説明
resource
要素によりキャッシュ・エントリのマーシャリングとアンマーシャリングに使用するメタデータを渡します。キャッシュ名とキャッシュ・エントリ・キーと値クラスとの間における単一バインディングがメタデータに含まれます。
次の属性を使用できます。
name
: 名前がRESTのURLパス・セグメント用に理想的でない場合における<cache-name>
要素の別名を指定します。この値のデフォルトは、値が指定されていない場合における<cache-name>
要素の値です。
max-results
: 問合せに返す結果の最大数を指定します。この値は、max-results
属性が、<query>
または<direct-query>
要素内にも定義されている場合に優先されます。
要素
表A-10でresource
要素の下位要素を説明します。
表A-10 resourceの下位要素
要素 | 必須/ オプション |
説明 |
---|---|---|
|
必須 |
このリソースで公開されるキャッシュの名前を指定します。キャッシュは、キャッシュ構成ファイルで定義する必要があります。 |
|
必須 |
このキャッシュに格納されるエントリ・キーのタイプを指定します。 |
|
必須 |
このキャッシュに格納されるエントリ値のタイプを指定します。 |
|
オプション |
|
オプション |
|
|
|
オプション |
REST URLで、構成済問合せ式の名前による実行を可能にする名前付き問合せの構成情報を指定します。 |
|
オプション |
REST URLに問合せ式をパラメータ GET http://host:port/cacheName?q=query 次の属性を使用できます。
|
root element
説明
rest要素は、Coherence REST実装の構成に使用するcoherence-rest-config.xml
ファイルのルート要素です。実装ではRESTのWebサービスを使用して、リモート・クライアントでクラスタにあるデータをHTTPでアクセスでき、POFシリアライズを使用する必要はありません。
要素
表A-12でrest
要素の下位要素を説明します。