A RESTの構成要素
この付録の内容は次のとおりです。
- REST構成ファイル
Coherence REST構成デプロイメント・ディスクリプタにより、REST実装の構成を指定します。 - REST構成要素リファレンス
Coherence REST構成要素リファレンスには、すべての非終端のレポート・ファイル構成要素が含まれます。
REST構成ファイル
coherence-rest-config.xml
で、クラスパス上で見つかる必要があります。coherence.rest.config
システム・プロパティを使用して、名前をオーバーライドできます。たとえば:
-Dcoherence.rest.config=MyConfig.xml
REST構成デプロイメント・ディスクリプタのスキーマは、coherence-rest-config.xsd
ファイルに定義されます。XSDファイルはcoherence.jar
ライブラリのルートにおいて次のWeb URLにあります。
http://xmlns.oracle.com/coherence/coherence-rest-config/1.2/coherence-rest-config.xsd
<rest>
要素は構成ファイルのルート要素であり、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">
ノート:
-
coherence.jar
ライブラリにあるスキーマは、xsi:schemaLocation
属性がWeb URLを参照する場合であっても、常に実行時に使用されます。 -
xsi:schemaLocation
属性を省略すると、スキーマ検証を無効にできます。 -
デフォルトの文字セットがASCIIではなくEBCDICである環境にCoherenceをデプロイする場合、デプロイメント・ディスクリプタ・ファイルがASCII形式であり、ランタイム環境にバイナリ形式でデプロイされることを確認してください。
親トピック: RESTの構成要素
REST構成要素リファレンス
- REST構成要素の索引
- aggregator
- aggregators
- engine
- marshaller
- processor
- processors
- query
- query-engines
- resource
- resources
- rest
親トピック: RESTの構成要素
aggregator
使用場所: aggregators
説明
aggregator
要素は、キャッシュにあるデータの集計に使用するカスタム・アグリゲータの定義に使用されます。各aggregator
要素には、アグリゲータ・クラスまたはアグリゲータのファクトリ・クラスと名前との間における単一バインディングが含まれている必要があります。
要素
表A-2でaggregator
要素の下位要素を説明します。
表A-2 aggregatorの下位要素
要素 | 必須/ オプション | 説明 |
---|---|---|
< |
必須 |
アグリゲータ・クラスまたはアグリゲータのファクトリ・クラスにバインドされるREST用URLで使用する名前を指定します。 |
< |
必須 |
名前にバインドされるカスタム・アグリゲータ・クラスまたはカスタム・アグリゲータのファクトリ・クラスの完全修飾名を指定します。このクラスは |
親トピック: REST構成要素リファレンス
aggregators
使用場所: rest
説明
aggregators
要素には、任意の数のカスタム・アグリゲータ定義が格納されます。
要素
表A-3でaggregators
要素の下位要素を説明します。
表A-3 aggregatorsの下位要素
要素 | 必須/ オプション | 説明 |
---|---|---|
必須 |
アグリゲータ・クラスまたはアグリゲータのファクトリ・クラスと名前との間における単一バインディングを指定します。 |
親トピック: REST構成要素リファレンス
engine
使用場所: query-engines
説明
engines
要素は、名前と問合せエンジン実装クラスとの間の単一バインディングを含みます。カスタム問合せエンジンには、com.tangosol.coherence.rest.query.QueryEngine
とcom.tangosol.coherence.rest.query.Query
インタフェースを実装する必要があります。カスタム実装は、com.tangosol.coherence.rest.query.AbstractQueryEngine
ベース・クラスも拡張します。これにより、問合せ式の分析やパラメータ・バインドの処理を実行する有用なメソッドが提供されます。
要素
表A-4で、engine
要素のサブ要素を説明します。
表A-4 engineの下位要素
要素 | 必須/ オプション | 説明 |
---|---|---|
|
必須 |
問合せエンジンの名前を指定します。 |
|
必須 |
問合せエンジン実装クラスの完全修飾名を指定します。 |
親トピック: REST構成要素リファレンス
marshaller
使用場所: resource
説明
キャッシュ・エントリのキーと値のクラスとマーシャリング処理クラス(それらのクラスのインスタンスでマーシャリングとアンマーシャリングに使用)との間におけるバインドがマーシャリング要素にはあります。
要素
表A-5でmarshaller
要素の下位要素を説明します。
表A-5 marshallerの下位要素
要素 | 必須/ オプション | 説明 |
---|---|---|
|
必須 |
マーシャリング用に使用するメディアの名前を指定します。CoherenceではXMLとJSONのデータ出力のデフォルト実装が用意されています。 |
|
必須 |
|
親トピック: REST構成要素リファレンス
processor
使用場所: processors
説明
processor
要素は、キャッシュにあるデータの処理に使用するカスタム入力プロセッサの定義に使用されます。各processor
要素には、プロセッサのファクトリ・クラスと名前との間における単一バインディングが含まれている必要があります。
要素
表A-6でprocessor
要素の下位要素を説明します。
表A-6 processorの下位要素
要素 | 必須/ オプション | 説明 |
---|---|---|
|
必須 |
プロセッサのファクトリ・クラスにバインドされるREST用URLで使用する名前を指定します。 |
|
必須 |
名前にバインドされるカスタム・プロセッサのファクトリ・クラスの完全修飾名を指定します。このクラスは |
親トピック: REST構成要素リファレンス
query
使用場所: 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」を参照してください。
要素
表A-8で、query
要素のサブ要素を説明します。
表A-8 queryの下位要素
要素 | 必須/ オプション | 説明 |
---|---|---|
|
必須 |
queryの名前を指定します。 |
|
必須 |
問合せ名にバインドする問合せ式を指定します。 |
親トピック: REST構成要素リファレンス
query-engines
使用場所: rest
説明
query-engines
要素には、任意の数のカスタム問合せエンジン定義が格納されます。問合せエンジンは、キャッシュに対して問合せ式を実行します。直接問合せおよび名前付き問合せは、基盤となる問合せエンジンに、それらの問合せの実行を依存しています。デフォルトの問合せエンジンは、URLエンコードのCohQL式(CohQLの述語句)として指定された問合せ式を実行するために提供されています。また、カスタム問合せエンジンを必要時に定義できます。
親トピック: REST構成要素リファレンス
resource
使用場所: 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 次の属性を使用できます。
|
親トピック: REST構成要素リファレンス
resources
使用場所: rest
説明
リソース要素には、任意の数のリソース定義が格納されます。キャッシュ・エントリのマーシャリングとアンマーシャリングに使用するメタデータをリソース定義により渡します。
親トピック: REST構成要素リファレンス
rest
ルート要素
説明
rest要素は、Coherence REST実装の構成に使用するcoherence-rest-config.xml
ファイルのルート要素です。実装ではRESTのWebサービスを使用して、リモート・クライアントでクラスタにあるデータをHTTPでアクセスでき、POFシリアライズを使用する必要はありません。
要素
表A-12でrest
要素の下位要素を説明します。
表A-12 restの下位要素
要素 | 必須/ オプション | 説明 |
---|---|---|
オプション |
キャッシュ・エントリのマーシャリングとアンマーシャリングに使用するメタデータを渡すリソース定義の数を指定します。 |
|
オプション |
キャッシュにあるデータの処理に使用するカスタム・プロセッサ定義の数を指定します。 |
|
オプション |
キャッシュにあるデータの集計に使用するカスタム・アグリゲータ定義の数を指定します。 |
|
オプション |
任意の数のカスタム問合せエンジン定義を指定します。問合せエンジンは実行問合せを処理します。 |
親トピック: REST構成要素リファレンス