プライマリ・コンテンツに移動
Oracle® Fusion Middleware Oracle Coherenceリモート・クライアントの開発
12
c
(12.2.1.1)
E77321-02
次
目次
タイトルおよび著作権情報
はじめに
対象読者
ドキュメントのアクセシビリティについて
関連ドキュメント
表記規則
このガイドで説明する新機能
新機能と変更点
このドキュメントに記載されているその他の重要な変更
第I部 スタート・ガイド
1
Coherence*Extendの概要
1.1
Coherence*Extendの概要
1.2
Extendクライアント
1.3
ExtendクライアントAPI
1.4
POFシリアライズ
1.5
Extendクライアント構成ファイルの理解
1.6
非ネイティブ・クライアントのサポート
1.6.1
RESTクライアントのサポート
1.6.2
Memcachedクライアントのサポート
2
最初のExtendアプリケーションの構築
2.1
Extendサンプルの概要
2.2
ステップ1: クラスタ側の構成
2.3
ステップ2: クライアント側の構成
2.4
ステップ3: サンプル・クライアントの作成
2.5
ステップ4: キャッシュ・サーバー・プロセスの開始
2.6
ステップ5: アプリケーションの実行
3
拡張プロキシの構成
3.1
拡張プロキシの構成の概要
3.2
拡張プロキシ・サービスの定義
3.2.1
単一のプロキシ・サービス・インスタンスの定義
3.2.2
複数のプロキシ・サービス・インスタンスの定義
3.2.3
複数のプロキシ・サービスの定義
3.2.4
プロキシ・アドレスの明示的な構成
3.2.5
クラスタ・サービス・プロキシの無効化
3.2.6
NamedCache読取り専用アクセスの指定
3.3
Extendクライアントで使用するキャッシュの定義
3.4
プロキシ・サーバーでのストレージの無効化
3.5
プロキシ・サーバーの起動
4
Extendクライアントの構成
4.1
Extendクライアントの構成の概要
4.2
リモート・キャッシュの定義
4.3
バック・キャッシュとしてのリモート・キャッシュの使用
4.4
リモート起動スキームの定義
4.5
特定のプロキシ・アドレスへの接続
4.6
接続エラーの検出
4.7
TCMP通信の無効化
5
Extendの拡張構成
5.1
TCPアドレス用のアドレス・プロバイダ参照の使用
5.2
TCPアドレス用のカスタム・アドレス・プロバイダの使用
5.3
ロード・バランシング接続
5.3.1
プロキシベースのロード・バランシングの使用
5.3.1.1
プロキシベースのロード・バランシングのデフォルト・アルゴリズムの理解
5.3.1.2
カスタムのプロキシベース・ロード・バランシングの戦略の実装
5.3.2
クライアントベースのロード・バランシングの使用
5.4
Extendクライアントでのネットワーク・フィルタの使用
6
Coherence*Extendのベスト・プラクティス
6.1
プロキシ・サーバーでニア・キャッシュを実行しない
6.2
ヒープNIO領域を最大ヒープ・サイズと同じ値に構成する
6.3
Proxyサービスのスレッド・プールの構成
6.3.1
Proxyサービスのスレッドの理解
6.3.2
Proxyサービスのスレッド・プールのしきい値の設定
6.3.3
正確なスレッド数の設定
6.4
InvocationServiceをコールするときの注意事項
6.5
キャッシュにコレクション・クラスを書き込むときの注意事項
6.6
キャッシュ・サーバーに対してPOFシリアライザを構成する
6.7
Extendクライアントのファイアウォールの構成
第II部 Java Extendクライアントの作成
第III部 C++ Extendクライアントの作成
7
Coherence C++クライアントの概要
7.1
Coherence for C++の概要
7.2
C++アプリケーション・ビルドの設定
7.2.1
Coherenceベースのアプリケーション向けのコンパイラの設定
7.2.2
Coherenceのヘッダー・ファイルの組込み
7.2.3
Coherenceライブラリのリンク
7.2.4
ランタイム・ライブラリと検索パスの設定
7.2.5
Coherence for C++のデプロイメント
8
C++クライアントの構成と使用
8.1
一般的な手順
8.2
C++アプリケーションの実装
8.3
アプリケーションのコンパイルとリンク
8.4
パスの構成
8.5
C++によるキャッシュ参照の取得
8.6
キャッシュに関連付けられたリソースのクリーンアップ
8.7
Coherence for C++クライアント・ライブラリの構成と使用
8.7.1
環境変数による構成ファイルの場所の設定
8.7.2
プログラム処理による構成ファイルの場所の設定
8.8
オペレーション構成ファイル(tangosol-coherence-override.xml)
8.9
Loggerの構成
9
CoherenceのC++オブジェクト・モデルの使用
9.1
オブジェクト・モデルの使用
9.1.1
Coherenceのネームスペース
9.1.2
ベース・オブジェクトについて
9.1.3
自動管理メモリー
9.1.3.1
管理オブジェクトの参照
9.1.3.2
ハンドルの使用
9.1.3.2.1
ハンドルの割当て
9.1.3.2.2
ハンドルの間接参照
9.1.3.3
管理オブジェクトのインスタンス化
9.1.4
管理文字列
9.1.4.1
文字列のインスタンス化
9.1.4.2
自動ボックス付き文字列
9.1.5
型保証キャスト
9.1.5.1
ダウン・キャスト
9.1.6
マネージ配列
9.1.7
コレクション・クラス
9.1.8
マネージ例外
9.1.9
オブジェクトの不変性
9.1.10
オブジェクト・モデルへの既存のクラスの統合
9.2
新規管理クラスの作成
9.2.1
仕様に基づく管理クラスの定義
9.2.2
等価性、ハッシング、クローニング、不変性およびシリアライズ
9.2.3
スレッド処理
9.2.4
弱参照
9.2.5
仮想コンストラクタ
9.2.6
高度なハンドル・タイプ
9.2.7
スレッド・セーフティ
9.2.7.1
同期および通知
9.2.7.2
スレッド・セーフなハンドル
9.2.7.3
エスケープ分析
9.2.7.3.1
共有ハンドル
9.2.7.3.2
constの正確性
9.2.7.4
スレッドローカル・アロケータ
9.3
診断およびトラブルシューティング
9.3.1
スレッドローカル・アロケータのログ
9.3.2
スレッド・ダンプ
9.3.3
メモリー・リーク検出
9.3.4
メモリー破損の検出
9.4
アプリケーション・ランチャ - Sanka
9.4.1
コマンドラインの構文
9.4.2
組込み実行可能ファイル
9.4.3
カスタム実行可能ファイル・クラスのサンプル
10
Coherence for C++クライアントAPIの使用
10.1
CacheFactory
10.2
NamedCache
10.3
QueryMap
10.4
ObservableMap
10.5
InvocableMap
10.6
Filter
10.7
値エクストラクタ
10.8
入力プロセッサ
10.9
エントリ・アグリゲータ
11
統合オブジェクトの構築(C++)
11.1
統合オブジェクトの構築(C++)の概要
11.2
POFの組込み型
11.3
シリアライズの各オプション
11.3.1
Managed<T>(自由関数シリアライズ)
11.3.2
PortableObject (自己シリアライズ)
11.3.3
PofSerializer (外部シリアライズ)
11.4
POFオブジェクト参照の使用
11.4.1
POFオブジェクト参照の有効化
11.4.2
循環構造のオブジェクトやネストされたオブジェクトへのPOFオブジェクトIDの登録
11.5
カスタムのC++型の登録
11.6
JavaバージョンのC++オブジェクトの実装
11.7
シリアライズのパフォーマンスの理解
11.8
POF注釈を使用したオブジェクトのシリアライズ
11.8.1
POFシリアライズでのオブジェクトへの注釈付け
11.8.2
POF注釈付きオブジェクトの登録
11.8.3
自動索引付けの有効化
11.8.4
カスタム・コーデックの提供
12
キャッシュの問合せ(C++)
12.1
問合せの機能の概要
12.2
単純な問合せの実行
12.2.1
パーティション・キャッシュの問合せ
12.2.2
ニア・キャッシュの問合せ
12.3
問合せの概念の理解
12.4
複数値属性が関係する問合せの実行
12.5
問合せでの連鎖エクストラクタの使用
12.6
問合せレコーダの使用
13
連続問合せの実行(C++)
13.1
連続問合せの実行の概要(C++)
13.1.1
連続問合せキャッシュのユース・ケースの理解
13.2
連続問合せキャッシュの実装の理解
13.3
連続問合せキャッシュの定義
13.4
連続問合せキャッシュ・リソースのクリーンアップ
13.5
キーのみのキャッシングと、キーおよび値のキャッシング
13.5.1
CacheValuesプロパティとイベント・リスナー
13.5.2
連続問合せキャッシュでのReflectionExtractorの使用
13.6
連続問合せキャッシュのリスニング
13.6.1
予期しない結果の回避
13.6.2
安定したマテリアライズド・ビューの実現
13.7
連続問合せキャッシュを読取り専用にする
14
リモート起動の実行(C++)
14.1
リモート起動の実行の概要(C++)
14.2
リモート起動サービスの構成と使用
14.3
Invocable実装クラスの登録
15
キャッシュ・イベントの使用(C++)
15.1
マップ・イベントの概要(C++)
15.1.1
イベントをサポートするキャッシュとクラス
15.2
すべてのイベントのサインアップ
15.3
多重化マップ・リスナーの使用
15.4
キャッシュ用のMapListenerの構成
15.5
特定のIDのイベントのサインアップ
15.6
イベントのフィルタリング
15.7
Liteイベントの使用
15.8
問合せのリスニング
15.9
統合イベントの使用
15.10
バッキング・マップ・イベントの使用
15.11
同期イベント・リスナーの使用
16
トランザクションの実行(C++)
16.1
入力プロセッサ内でのトランザクションAPIの使用
16.2
トランザクション入力プロセッサ用のスタブ・クラスの作成
16.3
トランザクション入力プロセッサのユーザー・タイプの登録
16.4
クラスタ側のトランザクション・キャッシュの構成
16.5
クライアント側のリモート・キャッシュの構成
16.6
C++クライアントからのトランザクション入力プロセッサの使用
第IV部 .NET Extendクライアントの作成
17
Coherence .NETクライアントの概要
17.1
Coherence for .NETの概要
17.2
.NETクライアントの構成と使用
17.2.1
一般的な手順
17.2.2
Coherence*Extend for .NETの構成
17.2.3
.NETによるキャッシュ参照の取得
17.2.4
キャッシュに関連付けられたリソースのクリーンアップ
17.2.5
ネットワーク・フィルタの使用
17.2.5.1
カスタム・フィルタ
17.2.5.2
フィルタの構成
18
統合オブジェクトの構築(.NET)
18.1
統合オブジェクトの構築(.NET)の概要
18.2
IPortableObject実装の作成
18.3
Javaバージョンの.NETオブジェクトの実装
18.3.1
PortableObject実装の作成(Java)
18.4
.NETクライアントでのカスタム型の登録
18.5
クラスタでのカスタム型の登録
18.6
進化可能な移植性のあるユーザー定義型
18.7
変更なしで型を移植可能にする
18.8
POFオブジェクト参照の使用方法
18.8.1
POFオブジェクト参照の有効化
18.8.2
循環構造のオブジェクトやネストされたオブジェクトへのPOFオブジェクトIDの登録
18.9
POF注釈を使用したオブジェクトのシリアライズ
18.9.1
POFシリアライズでのオブジェクトへの注釈付け
18.9.2
POF注釈付きオブジェクトの登録
18.9.3
自動索引付けの有効化
18.9.4
カスタム・コーデックの提供
19
Coherence .NETクライアント・ライブラリの使用
19.1
Coherence .NETクライアント・ライブラリの設定
19.2
Coherence .NET APIの使用
19.2.1
CacheFactory
19.2.2
IConfigurableCacheFactory
19.2.3
DefaultConfigurableCacheFactory
19.2.4
ロガー
19.2.5
Common.Loggingライブラリの使用
19.2.6
INamedCache
19.2.7
IQueryCache
19.2.8
QueryRecorder
19.2.9
IObservableCache
19.2.9.1
キャッシュ・イベントへの応答
19.2.10
IInvocableCache
19.2.11
フィルタ
19.2.12
値エクストラクタ
19.2.13
入力プロセッサ
19.2.14
入力アグリゲータ
19.3
プログラムによる.NETクライアントの構成
20
連続問合せの実行(.NET)
20.1
連続問合せの実行の概要(.NET)
20.1.1
連続問合せキャッシュのユース・ケースについて
20.2
連続問合せキャッシュの実装について
20.3
連続問合せキャッシュの構成
20.4
連続問合せキャッシュ・リソースのクリーンアップ
20.5
キーのみのキャッシングと、キーおよび値のキャッシング
20.6
連続問合せキャッシュのリスニング
20.6.1
安定したマテリアライズド・ビューの実現
20.6.2
同期および非同期リスナーのサポート
20.7
連続問合せキャッシュを読取り専用にする
21
リモート起動の実行(.NET)
21.1
リモート起動の実行の概要
21.2
リモート起動サービスの構成と使用
22
トランザクションの実行(.NET)
22.1
入力プロセッサ内でのトランザクションAPIの使用方法
22.2
トランザクション入力プロセッサ用のスタブ・クラスの作成
22.3
トランザクション入力プロセッサのユーザー・タイプの登録
22.4
クラスタ側のトランザクション・キャッシュの構成
22.5
クライアント側のリモート・キャッシュの構成
22.6
.NETクライアントからのトランザクション入力プロセッサの使用方法
23
ASP.NETセッション状態の管理
23.1
概要
23.2
Coherenceセッション管理の設定
23.2.1
Coherenceセッション・プロバイダの有効化
23.2.2
クラスタ側のASPセッション・キャッシュの構成
23.2.3
クライアント側のASPセッション・リモート・キャッシュの構成
23.2.4
デフォルトのセッション・キャッシュ名のオーバーライド
23.3
セッション・モデルの選択
23.3.1
セッション・モデルの指定
23.3.1.1
バッキング・マップ・リスナーの登録
23.4
シリアライザの指定
23.4.1
POFを使用したセッションのシリアライズ
23.5
アプリケーション間でのセッション状態の共有
第V部 Coherence RESTの使用
24
Coherence RESTの概要
24.1
Coherence RESTの概要
24.2
Coherence RESTの依存性
24.3
Coherence RESTの構成の概要
24.4
データ・フォーマットのサポートの理解
24.4.1
データ・フォーマットとしてのXMLの使用
24.4.2
データ・フォーマットとしてのJSONの使用
24.5
Coherence RESTクライアントの認証と認可
25
最初のCoherence RESTアプリケーションの作成
25.1
基本的なCoherence RESTの例の概要
25.2
ステップ1: クラスタ側の構成
25.3
ステップ2: ユーザー・タイプの作成
25.4
ステップ3: RESTサービスの構成
25.5
ステップ4: キャッシュ・サーバー・プロセスの開始
25.6
ステップ5: クライアントからRESTサービスへのアクセス
26
RESTによるグリッド操作の実行
26.1
キーおよび値のタイプの指定
26.2
単一オブジェクトのREST操作の実行
26.3
複数オブジェクトのREST操作の実行
26.4
部分オブジェクトのREST操作の実行
26.5
RESTによる問合せの実行
26.5.1
直接問合せの使用
26.5.2
名前付き問合せの使用
26.5.3
問合せのソート順の指定
26.5.4
問合せ結果サイズの制限
26.5.5
キーのみの取出し
26.5.6
カスタム問合せエンジンの使用
26.5.6.1
カスタム問合せエンジンの実装
26.5.6.2
カスタム問合せエンジンの有効化
26.6
RESTによる集計の実行
26.6.1
RESTの集計の構文
26.6.2
事前定義のアグリゲータのリスト
26.6.3
カスタム・アグリゲータの作成
26.7
RESTによるエントリ処理の実行
26.7.1
RESTのエントリ・プロセッサの構文
26.7.2
事前定義のエントリ・プロセッサのリスト
26.7.3
カスタム・エントリ・プロセッサの作成
26.8
並列処理制御の理解
26.9
キャッシュの別名の指定
26.10
サーバー送信イベントの使用
26.10.1
サーバー送信イベントの受信
27
Coherence RESTのデプロイ
27.1
埋込みHTTPサーバーによるデプロイ
27.2
WebLogicサーバーへのデプロイ
27.2.1
タスク1: Coherence RESTのWebLogicサーバー・ドメインの構成
27.2.2
タスク2: Coherence REST Webアプリケーションのパッケージ化
27.2.3
タスク3: Coherenceアプリケーションのパッケージ化
27.2.4
タスク4: エンタープライズ・アプリケーションのパッケージ化
27.2.5
タスク5: エンタープライズ・アプリケーションのデプロイ
27.3
Java EEサーバー(一般)へのデプロイ
27.3.1
デプロイメント用のCoherence RESTのパッケージ化
27.3.2
サーブレット・コンテナへのデプロイ
27.4
POFが有効化されているサービスへのRESTサーバー・アクセスの構成
28
デフォルトのREST実装の変更
28.1
カスタム・プロバイダおよびリソースの使用
28.2
埋込みHTTPサーバーの変更
28.2.1
Grizzly HTTPサーバーの使用
28.2.2
Simple HTTPサーバーの使用
28.2.3
Jetty HTTPサーバーの使用
A
RESTの構成要素
A.1
REST構成ファイル
A.2
要素リファレンス
A.2.1
aggregator
A.2.2
aggregators
A.2.3
engine
A.2.4
marshaller
A.2.5
processor
A.2.6
processors
A.2.7
query
A.2.8
query-engines
A.2.9
resource
A.2.10
resources
A.2.11
rest
B
F5 BIG-IP LTMとの統合
B.1
基本概念
B.2
ノードの作成
B.3
ロード・バランシング・プールの構成
B.3.1
ロード・バランシング・プールの作成
B.3.2
ロード・バランシング・プールのメンバーの追加
B.4
仮想サーバーの構成
B.5
BIG-IP LTMを使用するようにCoherence*Extendを構成する方法
B.6
高度なヘルス・モニタリングの使用
B.6.1
カスタム・ヘルス・モニターを作成してCoherenceにpingを送信する方法
B.6.2
カスタム・ヘルス・モニターを手動で作成してCoherenceにpingを送信する方法
B.6.3
カスタム・ヘルス・モニターをロード・バランシング・プールと関連付ける方法
B.7
SSLオフロードの有効化
B.7.1
サーバーのSSL証明書とキーのインポート
B.7.2
クライアントSSLプロファイルの作成
B.7.3
クライアントSSLプロファイルの関連付け