Hitachi

インメモリデータグリッド uCosminexus Elastic Application Data store ユーザーズガイド


20.1.2 CacheManagerクラス

〈この項の構成〉

(1) 機能

EADsのキャッシュを管理するためのクラスです。

create()を実行して,EADsクライアントの初期設定をします。

EADsクライアントの使用を終了する場合は,必ずdestroy()を実行してください。

(2) 継承関係

java.lang.Object
 └com.hitachi.software.xeads.client.api.CacheManager

(3) 形式

public class CacheManager
extends java.lang.Object

(4) メソッド一覧

CacheManagerクラスが提供するメソッド一覧を次の表に示します。

メソッド名

説明

create()(パス指定)

クライアント定義に従って,EADsクライアントの初期設定をします。

create()(EADsクライアント名およびパス指定)

クライアント定義に従って,EADsクライアントの初期設定をします。

create()(入力ストリーム指定)

クライアント定義に従って,EADsクライアントの初期設定をします。

create()(EADsクライアント名および入力ストリーム指定)

クライアント定義に従って,EADsクライアントの初期設定をします。

create()(クライアント定義指定)

クライアント定義に従って,EADsクライアントの初期設定をします。

create()(EADsクライアント名およびクライアント定義指定)

クライアント定義に従って,EADsクライアントの初期設定をします。

getCache()

Cacheクラスのインスタンスを取得します。

removeCache()

キャッシュへのアクセスを終了します。

destroy()

EADsクライアントの使用を終了します。

getNodeList()

EADsクライアントが保持する接続先EADsサーバの情報を取得します。

getNode()

指定したkey(またはグループ)が格納されている接続先EADsサーバの情報を取得します。

getSlaveNodeList()

指定したEADsサーバにあるデータの,コピー先となっているEADsサーバの情報を取得します。

(5) create()(パス指定)

(a) 機能

クライアント定義に従って,EADsクライアントの初期設定をします。

このメソッドを実行するたびに,通信タイムアウトを監視するスレッドと,クラスタを監視するスレッドが1つずつ生成されます。生成されたスレッドは,destroy()実行時に終了します。

EADsクライアントの初期設定で問題が発生した場合は,例外が返却されます。

(b) 形式

public static CacheManager create(String fileName)
                           throws CacheException

(c) パラメータ

fileName

EADsクライアントのクライアント定義ファイルの格納先パス名を指定します。

nullまたは空文字列は不正となります。

(d) 戻り値

CacheManagerクラスのインスタンスが返却されます。

(e) 発生する例外

  • UserOperationException(ユーザの操作不正)

  • InitializeException(CacheManagerクラスの初期化失敗)

  • InternalClientException(EADsクライアントの内部エラー)

(f) 注意事項

  • EADsクライアントを同一マシンで複数同時に実行する場合は,それぞれ異なるログ出力先を指定してください。同一のログ出力先を指定した場合,動作は保証されません。ログ出力先の設定については,「8.4.2 ファイルの出力先の設定」を参照してください。

  • J2EEサーバ(uCosminexus Application Server)上で実行する場合,このメソッドの実行後,destroy()を実行しないとメモリリークとなるので必ず実行してください。

(6) create()(EADsクライアント名およびパス指定)

(a) 機能

クライアント定義に従って,EADsクライアントの初期設定をします。

このメソッドを実行するたびに,通信タイムアウトを監視するスレッドと,クラスタを監視するスレッドが1つずつ生成されます。生成されたスレッドは,destroy()実行時に終了します。

EADsクライアントの初期設定で問題が発生した場合は,例外が返却されます。

(b) 形式

public static CacheManager create(String clientName, String fileName)
                           throws CacheException

(c) パラメータ

clientName

EADsクライアント名を指定します。

指定できるデータについては,「15.2.2(4) EADsクライアント名として指定できるデータ」を参照してください。

EADsクライアント名とログファイルの出力先の関係については,「8.4.2 ファイルの出力先の設定」を参照してください。

fileName

EADsクライアントのクライアント定義ファイルの格納先パス名を指定します。

nullまたは空文字列は不正となります。

(d) 戻り値

CacheManagerクラスのインスタンスが返却されます。

(e) 発生する例外

  • UserOperationException(ユーザの操作不正)

  • InitializeException(CacheManagerクラスの初期化失敗)

  • InternalClientException(EADsクライアントの内部エラー)

(f) 注意事項

  • EADsクライアントを同一マシンで複数同時に実行する場合は,それぞれ異なるログ出力先を指定してください。同一のログ出力先を指定した場合,動作は保証されません。ログ出力先の設定については,「8.4.2 ファイルの出力先の設定」を参照してください。

  • J2EEサーバ(uCosminexus Application Server)上で実行する場合,このメソッドの実行後,destroy()を実行しないとメモリリークとなるので必ず実行してください。

(7) create()(入力ストリーム指定)

(a) 機能

クライアント定義に従って,EADsクライアントの初期設定をします。

このメソッドを実行するたびに,通信タイムアウトを監視するスレッドと,クラスタを監視するスレッドが1つずつ生成されます。生成されたスレッドは,destroy()実行時に終了します。

EADsクライアントの初期設定で問題が発生した場合は,例外が返却されます。

(b) 形式

public static CacheManager create(InputStream in)
                           throws CacheException

(c) パラメータ

in

EADsクライアントのクライアント定義ファイルを読み込む入力ストリームを指定します。

nullの場合は不正となります。

(d) 戻り値

CacheManagerクラスのインスタンスが返却されます。

(e) 発生する例外

  • UserOperationException(ユーザの操作不正)

  • InitializeException(CacheManagerクラスの初期化失敗)

  • InternalClientException(EADsクライアントの内部エラー)

(f) 注意事項

  • EADsクライアントを同一マシンで複数同時に実行する場合は,それぞれ異なるログ出力先を指定してください。同一のログ出力先を指定した場合,動作は保証されません。ログ出力先の設定については,「8.4.2 ファイルの出力先の設定」を参照してください。

  • J2EEサーバ(uCosminexus Application Server)上で実行する場合,このメソッドの実行後,destroy()を実行しないとメモリリークとなるので必ず実行してください。

(8) create()(EADsクライアント名および入力ストリーム指定)

(a) 機能

クライアント定義に従って,EADsクライアントの初期設定をします。

このメソッドを実行するたびに,通信タイムアウトを監視するスレッドと,クラスタを監視するスレッドが1つずつ生成されます。生成されたスレッドは,destroy()実行時に終了します。

EADsクライアントの初期設定で問題が発生した場合は,例外が返却されます。

(b) 形式

public static CacheManager create(String clientName, InputStream in)
                           throws CacheException

(c) パラメータ

clientName

EADsクライアント名を指定します。

指定できるデータについては,「15.2.2(4) EADsクライアント名として指定できるデータ」を参照してください。

EADsクライアント名とログファイルの出力先の関係については,「8.4.2 ファイルの出力先の設定」を参照してください。

in

EADsクライアントのクライアント定義ファイルを読み込む入力ストリームを指定します。

nullの場合は不正となります。

(d) 戻り値

CacheManagerクラスのインスタンスが返却されます。

(e) 発生する例外

  • UserOperationException(ユーザの操作不正)

  • InitializeException(CacheManagerクラスの初期化失敗)

  • InternalClientException(EADsクライアントの内部エラー)

(f) 注意事項

  • EADsクライアントを同一マシンで複数同時に実行する場合は,それぞれ異なるログ出力先を指定してください。同一のログ出力先を指定した場合,動作は保証されません。ログ出力先の設定については,「8.4.2 ファイルの出力先の設定」を参照してください。

  • J2EEサーバ(uCosminexus Application Server)上で実行する場合,このメソッドの実行後,destroy()を実行しないとメモリリークとなるので必ず実行してください。

(9) create()(クライアント定義指定)

(a) 機能

クライアント定義に従って,EADsクライアントの初期設定をします。

このメソッドを実行するたびに,通信タイムアウトを監視するスレッドと,クラスタを監視するスレッドが1つずつ生成されます。生成されたスレッドは,destroy()実行時に終了します。

EADsクライアントの初期設定で問題が発生した場合は,例外が返却されます。

(b) 形式

public static CacheManager create(Properties properties)
                           throws CacheException

(c) パラメータ

properties

EADsクライアントのクライアント定義を指定します。

nullの場合は不正となります。

(d) 戻り値

CacheManagerクラスのインスタンスが返却されます。

(e) 発生する例外

  • UserOperationException(ユーザの操作不正)

  • InitializeException(CacheManagerクラスの初期化失敗)

  • InternalClientException(EADsクライアントの内部エラー)

(f) 注意事項

  • EADsクライアントを同一マシンで複数同時に実行する場合は,それぞれ異なるログ出力先を指定してください。同一のログ出力先を指定した場合,動作は保証されません。ログ出力先の設定については,「8.4.2 ファイルの出力先の設定」を参照してください。

  • J2EEサーバ(uCosminexus Application Server)上で実行する場合,このメソッドの実行後,destroy()を実行しないとメモリリークとなるので必ず実行してください。

(10) create()(EADsクライアント名およびクライアント定義指定)

(a) 機能

クライアント定義に従って,EADsクライアントの初期設定をします。

このメソッドを実行するたびに,通信タイムアウトを監視するスレッドと,クラスタを監視するスレッドが1つずつ生成されます。生成されたスレッドは,destroy()実行時に終了します。

EADsクライアントの初期設定で問題が発生した場合は,例外が返却されます。

(b) 形式

public static CacheManager create(String clientName, Properties properties)
                           throws CacheException

(c) パラメータ

clientName

EADsクライアント名を指定します。

指定できるデータについては,「15.2.2(4) EADsクライアント名として指定できるデータ」を参照してください。

EADsクライアント名とログファイルの出力先の関係については,「8.4.2 ファイルの出力先の設定」を参照してください。

properties

EADsクライアントのクライアント定義を指定します。

nullの場合は不正となります。

(d) 戻り値

CacheManagerクラスのインスタンスが返却されます。

(e) 発生する例外

  • UserOperationException(ユーザの操作不正)

  • InitializeException(CacheManagerクラスの初期化失敗)

  • InternalClientException(EADsクライアントの内部エラー)

(f) 注意事項

  • EADsクライアントを同一マシンで複数同時に実行する場合は,それぞれ異なるログ出力先を指定してください。同一のログ出力先を指定した場合,動作は保証されません。ログ出力先の設定については,「8.4.2 ファイルの出力先の設定」を参照してください。

  • J2EEサーバ(uCosminexus Application Server)上で実行する場合,このメソッドの実行後,destroy()を実行しないとメモリリークとなるので必ず実行してください。

(11) getCache()

(a) 機能

キャッシュへのアクセスを開始し,Cacheクラスのインスタンスを取得します。

また,removeCache()でアクセスを終了したキャッシュのインスタンスを再度開始状態にします。

キャッシュへのアクセス開始で問題が発生した場合は,例外が返却されます。

(b) 形式

public Cache getCache(String name)
               throws CacheException

(c) パラメータ

name

取得するCacheクラスのキャッシュ名を指定します。

指定できるデータについては,「15.2.2(3) キャッシュ名として指定できるデータ」を参照してください。

(d) 戻り値

指定したキャッシュ名に関連づけられたCacheクラスのインスタンスが返却されます。

すでに同じキャッシュ名を指定してgetCache()を実行している場合は,初回実行時と同じインスタンスが返却されます。

(e) 発生する例外

  • UserOperationException(ユーザの操作不正)

  • ServerCommunicationException(通信障害)

  • InternalServerException(EADsサーバの内部エラー)

  • InternalClientException(EADsクライアントの内部エラー)

(12) removeCache()

(a) 機能

キャッシュへのアクセスを終了します。

キャッシュのアクセス終了で問題が発生した場合は,例外が返却されます。

(b) 形式

public void removeCache(String name)
                 throws CacheException

(c) パラメータ

name

終了するCacheクラスのキャッシュ名を指定します。

指定できるデータについては,「15.2.2(3) キャッシュ名として指定できるデータ」を参照してください。

(d) 発生する例外

  • UserOperationException(ユーザの操作不正)

  • InternalClientException(EADsクライアントの内部エラー)

(e) 注意事項

同じキャッシュ名を指定して取得したすべてのキャッシュ(Cacheクラスのインスタンス)へのアクセスを終了するため,複数スレッドで実行している場合などは注意してください。

(13) destroy()

(a) 機能

すべてのキャッシュに対して終了処理を行い,EADsクライアントの使用を終了します。

destroy()を実行してEADsクライアントがすでに終了している場合は,CacheException.EAD_ERROR_CLIENT_FINALIZEDが返却されます。

(b) 形式

public void destroy()
             throws CacheException

(c) 発生する例外

  • UserOperationException(ユーザの操作不正)

  • InternalClientException(EADsクライアントの内部エラー)

(d) 注意事項

  • destroy()はcreate()と対になるように実行してください。create()で取得したインスタンスにつき1度だけ実行してください。

  • J2EEサーバ(uCosminexus Application Server)上で実行する場合,このメソッドを実行しないとメモリリークとなるので必ず実行してください。

(14) getNodeList()

(a) 機能

EADsクライアントが保持する接続先EADsサーバの情報を取得します。

接続先EADsサーバの情報の取得で問題が発生した場合は,例外が返却されます。

(b) 形式

public Node[] getNodeList()
                   throws CacheException

(c) 戻り値

EADsクライアントが保持する接続先EADsサーバの情報が,Nodeクラスの配列として返却されます。

EADsサーバの状態に関係なく,すべてのEADsサーバの情報が返却されます。

(d) 発生する例外

  • UserOperationException(ユーザの操作不正)

  • InternalClientException(EADsクライアントの内部エラー)

(e) 注意事項

このメソッドの実行時には,EADsサーバへの通信は行われません。そのため,取得した情報が最新でないことがあります。

(15) getNode()

(a) 機能

指定したkey(またはグループ)が格納されている接続先EADsサーバの情報を取得します。

接続先EADsサーバの取得で問題が発生した場合は,例外が返却されます。

(b) 形式

public Node getNode(String key)
             throws CacheException

(c) パラメータ

key

取得したい接続先EADsサーバに格納されているkey(またはグループ)を指定します。

指定できるデータについては,「15.2.2(1) keyとして指定できるデータ」を参照してください。

(d) 戻り値

指定したkey(またはグループ)が格納されている接続先EADsサーバを表すNodeクラスのインスタンスが返却されます。

接続先EADsサーバの接続可否については,戻り値に影響しません。

(e) 発生する例外

  • UserOperationException(ユーザの操作不正)

  • InternalClientException(EADsクライアントの内部エラー)

(f) 注意事項

このメソッドの実行時には,EADsサーバへの通信は行われません。そのため,取得した情報が最新でないことがあります。

(16) getSlaveNodeList()

(a) 機能

指定したEADsサーバにあるデータの,コピー先となっているEADsサーバの情報を取得します。

データのコピー先EADsサーバの情報の取得で問題が発生した場合は,例外が返却されます。

(b) 形式

public Node[] getSlaveNodeList(Node masterNode)
                        throws CacheException

(c) パラメータ

masterNode

コピー元のデータを格納するEADsサーバ(CacheManagerクラスから取得したNodeクラスのインスタンス)を指定します。それ以外のインスタンスを指定した場合の動作は保証しません。

次の場合は不正となります。

  • nullの場合

  • 指定したNodeクラスが保持するアドレス情報(IPアドレスおよびポート番号)が,EADsクライアントが保持するどのEADsサーバのアドレス情報とも一致しない場合

(d) 戻り値

コピー先EADsサーバの情報が,Nodeクラスの配列として返却されます。

接続先EADsサーバの接続可否については,戻り値に影響しません。

データの多重度が1の場合,要素数0の配列が返却されます。

(e) 発生する例外

  • UserOperationException(ユーザの操作不正)

  • InternalClientException(EADsクライアントの内部エラー)

(f) 注意事項

このメソッドの実行時には,EADsサーバへの通信は行われません。そのため,取得した情報が最新でないことがあります。