Hitachi

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


18.1.1 Cacheクラス

〈この項の構成〉

(1) 説明

データを操作するためのクラスです。

(2) 継承関係

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

(3) 形式

public class Cache
extends java.lang.Object

(4) メソッド一覧

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

メソッド名

説明

getName()

Cacheクラスのインスタンスに関連づけられたキャッシュ名を取得します。

put()

valueをkeyに関連づけて格納します。

putAll()

指定したMap内で関連づけられたkeyとvalueを,キャッシュに一括格納します。

create()

新規にkeyを格納する場合だけ,valueをkeyに関連づけて格納します。

update()

指定したkeyがすでに格納されている場合だけ,valueをkeyに関連づけて格納します。

replace()

指定したkeyに関連づけられているvalueを,条件として指定したvalue(comparativeValue)と比較します。valueが一致している場合だけ,valueをkeyに関連づけて格納します。

get()

指定したkeyに関連づけられたvalueを取得します。

getAll()(Set指定)

指定したkeyの一覧に関連づけられているvalueを一括取得します。取得したvalueは,keyと関連づけられて,引数に指定したMapに格納されます。

getAll()(グループ指定)

指定したグループ,およびその下位階層のグループに属するkeyに関連づけられているvalueを,一括取得します。取得したvalueは,keyと関連づけられて,引数に指定したMapに格納されます。

remove()

指定したkey,およびkeyに関連づけられたvalueを削除します。

removeAll()(Set指定)

指定したkeyの一覧に関連づけられているvalueを一括削除します。

removeAll()(グループ指定)

指定したグループに属するkeyおよびvalueを,下位階層のグループに属するkeyおよびvalueも含めて一括削除します。

removeAll()(EADSサーバ指定)

指定したEADSサーバをコピー元EADSサーバとするkeyおよびvalueを一括削除します。

getGroupNameSet()

指定したEADSサーバに格納されている最上位階層のグループ名の一覧を取得します。

グループ名の一覧は,ASCIIコードの昇順になります。

getKeySet()(グループ指定)

指定したグループに属するkeyの一覧を取得します。keyの一覧には,指定したグループの下位階層のグループに属するkeyも含まれます。

keyの一覧は,ASCIIコードの昇順になります。

getKeySet()(EADSサーバ指定)

指定したEADSサーバに格納されているkeyの一覧を取得します。

keyの一覧は,ASCIIコードの昇順になります。

getGroupCount()

指定したEADSサーバに格納されている最上位階層のグループ数を取得します。

getKeyCount()(グループ指定)

指定したグループに属するkeyの数を取得します。指定したグループの下位階層のグループに属するkeyも,取得されるkeyの数に含まれます。

getKeyCount()(EADSサーバ指定)

指定したEADSサーバに格納されているkeyの数を取得します。

getFirstKey()(グループ指定)

指定したグループに属するkeyのうち,ASCIIコードの昇順で先頭のkeyを取得します。指定したグループの下位階層のグループに属するkeyも取得対象となります。

getFirstKey()(EADSサーバ指定)

指定したEADSサーバに格納されているkeyのうち,ASCIIコードの昇順で先頭となるkeyを取得します。

getNextKey()(グループおよびkey指定)

指定したグループに属するkeyのうち,ASCIIコードの昇順で,指定したkeyの次に位置するkeyを取得します。指定したグループの下位階層のグループに属するkeyも取得対象となります。

getNextKey()(EADSサーバおよびkey指定)

指定したEADSサーバに格納されているkeyのうち,ASCIIコードの昇順で指定したkeyの次に位置するkeyを取得します。

executeFunction()(keyまたはグループ指定)

指定したkeyまたはグループから実行するEADSサーバを決定して,ユーザファンクションを実行します。

executeFunction()(keyまたはグループ,および受信タイムアウト指定)

指定したkeyまたはグループから実行するEADSサーバを決定して,ユーザファンクションを実行します。また,受信タイムアウト時間を指定します。

executeFunction()(EADSサーバ指定)

EADSサーバを指定して,ユーザファンクションを実行します。

executeFunction()(EADSサーバおよび受信タイムアウト指定)

EADSサーバおよび受信タイムアウト時間を指定して,ユーザファンクションを実行します。

(5) getName()

(a) 機能

Cacheクラスのインスタンスに関連づけられたキャッシュ名を取得します。

CacheManagerクラスのremoveCache()による,キャッシュへのアクセス終了後にも使用できます。

(b) 形式

public String getName()

(c) 戻り値

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

(6) put()

(a) 機能

valueをkeyに関連づけて格納します。

valueの格納で問題が発生した場合は,例外が返却されます。

データ自動削除機能を使用している場合,key数がしきい値の上限に達しているときは,データの削除ポリシーに従ってデータを削除してから,valueをkeyに関連付けて格納します。既存のデータを更新する場合もデータは削除されます。

データ自動削除機能でデータの削除に失敗した場合,valueの格納を実行しないでremoveが失敗したときの例外が返却されます。

(b) 形式

public void put(String key,
                Object value)
         throws CacheException

(c) パラメータ

key

valueに関連づけるkeyを指定します。

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

value

格納するvalueを指定します。

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

(d) 発生する例外

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

  • ServerCommunicationException(通信障害)

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

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

(7) putAll()

(a) 機能

指定したMap内で関連づけられたkeyとvalueを,キャッシュに一括格納します。

valueの格納で問題が発生した場合は,例外が返却されます。

データ自動削除機能を使用している場合,key数がしきい値の上限に達しているときは,データの削除ポリシーに従ってしきい値を超える件数分のデータを削除してから,複数のkeyとvalueを一括格納します。既存のデータを更新する場合もデータは削除されます。データの削除に失敗した場合,失敗した件数分はvalueの格納を実行しません。

データ自動削除機能でデータの削除に失敗した場合,valueの格納を実行しなかったkeyは,データの削除に失敗したときの例外情報が設定されます。

(b) 形式

public void putAll(java.util.Map<String,? extends Object> map)
            throws CacheException

(c) パラメータ

map

一括格納するkeyおよびvalueを関連づけたMapを指定します。

nullまたは要素数が0のMapを指定した場合はエラーとなります。

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

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

(d) 発生する例外

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

  • AllFailureException(一括操作全体の失敗)

  • PartFailureException(一括操作の部分的な失敗)

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

(e) 注意事項

  • valueの格納にすべて失敗した場合,例外としてAllFailureException,およびエラーコードとしてCacheException.EAD_ERROR_BATCH_FAILED_ALLが返却されます。

    valueの格納が部分的に失敗した場合,例外としてPartFailureException,およびエラーコードとしてCacheException.EAD_ERROR_BATCH_FAILED_PARTが返却されます。

    それぞれの例外から情報を取得することで,どのkeyの操作が何の要因で失敗したかを判別できます。

  • キャッシュの操作が部分的に失敗した場合,例外からどの操作が失敗したか判別して,必要に応じてこのメソッドを再度実行してください。

  • キャッシュの操作中に排他処理はされません。そのため,一括操作中に,ほかのキャッシュ操作によって操作対象のvalueが変更されることがあります。

  • 大量のデータを一括操作する場合,EADSクライアントおよびEADSサーバでメモリが大量に消費されることがあります。

  • 大量のデータを一括操作する場合,操作の完了までに時間が掛かることがあります。そのため,タイムアウト時間を適切に設計してください。

(8) create()

(a) 機能

新規にkeyを格納する場合だけ,valueをkeyに関連づけて格納します。

valueの格納で問題が発生した場合は,例外が返却されます。

データ自動削除機能を使用している場合,key数がしきい値の上限に達しているときは,データの削除ポリシーに従ってデータを削除してから,valueをkeyに関連付けて格納します。データの削除は,指定したkeyがキャッシュに格納されている場合も実行します。

データ自動削除機能でデータの削除に失敗した場合,valueの格納を実行しないでremoveが失敗したときの例外が返却されます。

(b) 形式

public void create(String key,
                   Object value)
            throws CacheException

(c) パラメータ

key

valueに関連づけるkeyを指定します。

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

value

格納するvalueを指定します。

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

(d) 発生する例外

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

  • ServerCommunicationException(通信障害)

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

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

(9) update()

(a) 機能

指定したkeyがすでに格納されている場合だけ,valueをkeyに関連づけて格納します。

valueの格納で問題が発生した場合は,例外が返却されます。

(b) 形式

public void update(String key,
                   Object value)
            throws CacheException

(c) パラメータ

key

valueに関連づけるkeyを指定します。

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

value

格納するvalueを指定します。

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

(d) 発生する例外

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

  • ServerCommunicationException(通信障害)

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

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

(10) replace()

(a) 機能

指定したkeyに関連づけられているvalueを,条件として指定したvalue(comparativeValue)と比較します。valueが一致している場合だけ,valueをkeyに関連づけて格納します。

valueの置き換えで問題が発生した場合は,例外が返却されます。

(b) 形式

public void replace(String key,
                    Object value,
                    Object comparativeValue)
             throws CacheException

(c) パラメータ

key

置き換えるvalueに関連づけられたkeyを指定します。

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

value

格納するvalueを指定します。

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

comparativeValue

比較するvalueを指定します。

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

(d) 発生する例外

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

  • ServerCommunicationException(通信障害)

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

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

(11) get()

(a) 機能

指定したkeyに関連づけられたvalueを取得します。

valueの取得で問題が発生した場合は,例外が返却されます。

(b) 形式

public java.lang.Object get(String key)
                     throws CacheException

(c) パラメータ

key

取得するvalueに関連づけられたkeyを指定します。

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

(d) 戻り値

keyに関連づけられたvalueが返却されます。

指定したkeyに何も関連づけられていなかった場合は,nullが返却されます。

(e) 発生する例外

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

  • ServerCommunicationException(通信障害)

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

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

(f) 注意事項

get()を実行するスレッドのコンテキストクラスローダを変更しないでください。コンテキストクラスローダの設定が不正な場合,戻り値のオブジェクトのデシリアライズに失敗します。

(12) getAll()(Set指定)

(a) 機能

指定したkeyの一覧に関連づけられているvalueを一括取得します。取得したvalueは,keyと関連づけられて,引数に指定したMapに格納されます。

valueの取得で問題が発生した場合は,例外が返却されます。

(b) 形式

public void getAll(java.util.Set<String> keys,
                   java.util.Map<String, Object> returnMap)
            throws CacheException

(c) パラメータ

keys

取得するvalueに関連づけられているkeyの一覧を指定します。

nullまたは要素数が0のkeyの一覧を指定した場合はエラーとなります。

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

returnMap

取得したvalueを格納するMapを指定します。

nullを指定した場合は不正となります。

(d) 発生する例外

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

  • AllFailureException(一括操作全体の失敗)

  • PartFailureException(一括操作の部分的な失敗)

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

(e) 注意事項

  • valueの取得がすべて失敗した場合,例外としてAllFailureException,およびエラーコードとしてCacheException.EAD_ERROR_BATCH_FAILED_ALLが返却されます。

    valueの取得が部分的に失敗した場合,例外としてPartFailureException,およびエラーコードとしてCacheException.EAD_ERROR_BATCH_FAILED_PARTが返却されます。

    それぞれの例外から情報を取得することで,どのkeyの操作が何の要因で失敗したかを判別できます。

  • 引数に指定したMapに,取得対象のkeyとvalueがすでに格納されている場合は,keyとvalueは取得した値で上書きされます。

  • キャッシュにvalueが格納されていないkeyを指定した場合,引数に指定したMapには何も格納されません。

  • キャッシュの操作が部分的に失敗した場合,例外からどの操作が失敗したか判別して,必要に応じてこのメソッドを再度実行してください。

  • キャッシュの操作中に排他処理はされません。そのため,一括操作中に,ほかのキャッシュ操作によって操作対象のvalueが変更されることがあります。

  • 大量のデータを一括操作する場合,EADSクライアントおよびEADSサーバでメモリが大量に消費されることがあります。

  • 大量のデータを一括操作する場合,操作の完了までに時間が掛かることがあります。そのため,タイムアウト時間を適切に設計してください。

(13) getAll()(グループ指定)

(a) 機能

指定したグループ,およびその下位階層のグループに属するkeyに関連づけられているvalueを,一括取得します。取得したvalueは,keyと関連づけられて,引数に指定したMapに格納されます。

valueの一括取得中に何らかの要因でvalueの取得に失敗した場合は,成功した分のvalueだけがMapに格納されます。また,失敗の要因を示す例外が返却されます。

(b) 形式

public void getAll(String groupName,
                   java.util.Map<String, Object> returnMap)
            throws CacheException

(c) パラメータ

groupName

valueを取得するグループ名を指定します。

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

returnMap

取得したvalueを格納するMapを指定します。

nullを指定した場合はエラーとなります。

(d) 発生する例外

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

  • ServerCommunicationException(通信障害)

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

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

(e) 注意事項

  • 引数に指定したMapに,取得対象のkeyとvalueがすでに格納されている場合は,keyとvalueは取得した値で上書きされます。

  • キャッシュにvalueが格納されていないkeyを指定した場合,引数に指定したMapには何も格納されません。

  • キャッシュの操作が部分的に失敗した場合,キャッシュの操作の実行結果を確認して,必要に応じてこのメソッドを再度実行してください。

  • キャッシュの操作中に排他処理はされません。そのため,一括操作中に,ほかのキャッシュ操作によって操作対象のvalueが変更されることがあります。

  • 大量のデータを一括操作する場合,EADSクライアントおよびEADSサーバでメモリが大量に消費されることがあります。

  • 大量のデータを一括操作する場合,操作の完了までに時間が掛かることがあります。そのため,タイムアウト時間を適切に設計してください。

(14) remove()

(a) 機能

指定したkey,およびkeyに関連づけられたvalueを削除します。

valueの削除で問題が発生した場合は,例外が返却されます。

(b) 形式

public void remove(String key)
            throws CacheException

(c) パラメータ

key

削除するvalueに関連づけられたkeyを指定します。

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

(d) 発生する例外

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

  • ServerCommunicationException(通信障害)

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

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

(15) removeAll()(Set指定)

(a) 機能

指定したkeyの一覧に関連づけられているvalueを一括削除します。

valueの削除で問題が発生した場合は,例外が返却されます。

(b) 形式

public void removeAll(java.util.Set<String> keys)
               throws CacheException

(c) パラメータ

keys

削除するvalueに関連づけられているkeyの一覧を指定します。

nullまたは要素数が0のkeyの一覧を指定した場合はエラーとなります。

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

(d) 発生する例外

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

  • AllFailureException(一括操作全体の失敗)

  • PartFailureException(一括操作の部分的な失敗)

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

(e) 注意事項

  • valueの削除がすべて失敗した場合,例外としてAllFailureException,およびエラーコードとしてCacheException.EAD_ERROR_BATCH_FAILED_ALLが返却されます。

    valueの削除が部分的に失敗した場合,例外としてPartFailureException,およびエラーコードとしてCacheException.EAD_ERROR_BATCH_FAILED_PARTが返却されます。

    それぞれの例外から情報を取得することで,どのkeyの操作が何の要因で失敗したかを判別できます。

  • 例外が返却された場合,削除対象のデータが残っているおそれがあります。そのため,例外からどの操作が失敗したか判別して対処してください。必要に応じて,removeAll()(Set指定)を再度実行してください。

  • キャッシュの操作中に排他処理はされません。そのため,一括操作中に,ほかのキャッシュ操作によって操作対象のvalueが変更されることがあります。

  • 大量のデータを一括操作する場合,EADSクライアントおよびEADSサーバでメモリが大量に消費されることがあります。

  • 大量のデータを一括操作する場合,操作の完了までに時間が掛かることがあります。そのため,タイムアウト時間を適切に設計してください。

(16) removeAll()(グループ指定)

(a) 機能

指定したグループに属するkeyおよびvalueを,下位階層のグループに属するkeyおよびvalueも含めて一括削除します。

valueの削除で問題が発生した場合は,例外が返却されます。

(b) 形式

public void removeAll(String groupName)
               throws CacheException

(c) パラメータ

groupName

削除するグループ名を指定します。

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

(d) 発生する例外

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

  • ServerCommunicationException(通信障害)

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

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

(e) 注意事項

  • 例外が返却された場合,削除対象のデータが残っているおそれがあります。そのため,実行結果を確認して対処してください。必要に応じて,removeAll()(グループ指定)を再度実行してください。

  • キャッシュの操作中に排他処理はされません。そのため,一括操作中に,ほかのキャッシュ操作によって操作対象のvalueが変更されることがあります。

  • 大量のデータを一括操作する場合,EADSクライアントおよびEADSサーバでメモリが大量に消費されることがあります。

  • 大量のデータを一括操作する場合,操作の完了までに時間が掛かることがあります。そのため,タイムアウト時間を適切に設計してください。

(17) removeAll()(EADSサーバ指定)

(a) 機能

指定したEADSサーバをコピー元EADSサーバとするkeyおよびvalueを一括削除します。

valueの削除で問題が発生した場合は,例外が返却されます。

(b) 形式

public void removeAll(Node targetNode)
               throws CacheException

(c) パラメータ

targetNode

一括削除を実行するEADSサーバを指定します。

CacheManagerクラスから取得したNodeクラスのインスタンスだけ指定できます。それ以外のインスタンスを指定した場合,動作は保証されません。

(d) 発生する例外

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

  • ServerCommunicationException(通信障害)

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

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

(e) 注意事項

  • 例外が返却された場合,削除対象のデータが残っているおそれがあります。そのため,実行結果を確認して対処してください。必要に応じて,removeAll()(EADSサーバ指定)を再度実行してください。

  • キャッシュの操作中に排他処理はされません。そのため,一括操作中に,ほかのキャッシュ操作によって操作対象のvalueが変更されることがあります。

  • 大量のデータを一括操作する場合,EADSクライアントおよびEADSサーバでメモリが大量に消費されることがあります。

  • 大量のデータを一括操作する場合,操作の完了までに時間が掛かることがあります。そのため,タイムアウト時間を適切に設計してください。

(18) getGroupNameSet()

(a) 機能

指定したEADSサーバに格納されている最上位階層のグループ名の一覧を取得します。

グループ名の一覧は,ASCIIコードの昇順になります。

(b) 形式

public java.util.Set<String> getGroupNameSet(Node targetNode)
                                      throws CacheException

(c) パラメータ

targetNode

グループ名の一覧を取得したいEADSサーバを指定します。

CacheManagerクラスから取得したNodeクラスのインスタンスだけ指定できます。それ以外のインスタンスを指定した場合,動作は保証されません。

(d) 戻り値

指定したEADSサーバに格納されている最上位階層のグループ名の一覧が返却されます。

指定したEADSサーバに,グループに属するkeyが存在しない場合は,nullが返却されます。

(e) 発生する例外

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

  • ServerCommunicationException(通信障害)

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

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

(f) 注意事項

指定したEADSサーバに存在するグループ数が多いほど,取得に時間が掛かるおそれがあります。また,取得する際のリソースの使用量も増加するため,注意してください。

(19) getKeySet()(グループ指定)

(a) 機能

指定したグループに属するkeyの一覧を取得します。keyの一覧には,指定したグループの下位階層のグループに属するkeyも含まれます。

keyの一覧は,ASCIIコードの昇順になります。

(b) 形式

public java.util.Set<String> getKeySet(String groupName)
                                throws CacheException

(c) パラメータ

groupName

グループ名を指定します。

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

(d) 戻り値

指定したグループに属するkeyの一覧が返却されます。

指定したグループに属するkeyが存在しない場合,nullが返却されます。

(e) 発生する例外

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

  • ServerCommunicationException(通信障害)

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

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

(f) 注意事項

指定したグループに存在するkeyの数が多いほど,取得に時間が掛かるおそれがあります。また,取得する際のリソースの使用量が増加します。

(20) getKeySet()(EADSサーバ指定)

(a) 機能

指定したEADSサーバに格納されているkeyの一覧を取得します。

keyの一覧は,ASCIIコードの昇順になります。

(b) 形式

public java.util.Set<String> getKeySet(Node targetNode) 
                                throws CacheException

(c) パラメータ

targetNode

keyの一覧を取得したいEADSサーバを指定します。

CacheManagerクラスから取得したNodeクラスのインスタンスだけ指定できます。それ以外のインスタンスを指定した場合,動作は保証されません。

(d) 戻り値

指定したEADSサーバに格納されているkeyの一覧が返却されます。

(e) 発生する例外

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

  • ServerCommunicationException(通信障害)

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

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

(f) 注意事項

指定したEADSサーバに存在するkeyの数が多いほど,取得に時間が掛かるおそれがあります。また,取得する際のリソースの使用量が増加します。

(21) getGroupCount()

(a) 機能

指定したEADSサーバに格納されている最上位階層のグループの数を取得します。

(b) 形式

public int getGroupCount(Node targetNode)
                  throws CacheException

(c) パラメータ

targetNode

グループの数を取得したいEADSサーバを指定します。

CacheManagerクラスから取得したNodeクラスのインスタンスだけ指定できます。それ以外のインスタンスを指定した場合,動作は保証されません。

(d) 戻り値

指定したEADSサーバに格納されている最上位階層のグループの数が返却されます。

(e) 発生する例外

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

  • ServerCommunicationException(通信障害)

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

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

(22) getKeyCount()(グループ指定)

(a) 機能

指定したグループに属するkeyの数を取得します。指定したグループの下位階層のグループに属するkeyも,取得されるkeyの数に含まれます。

(b) 形式

public int getKeyCount(String groupName)
                throws CacheException

(c) パラメータ

groupName

グループ名を指定します。

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

(d) 戻り値

指定したグループに属するkeyの数が返却されます。

(e) 発生する例外

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

  • ServerCommunicationException(通信障害)

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

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

(23) getKeyCount()(EADSサーバ指定)

(a) 機能

指定したEADSサーバに格納されているkeyの数を取得します。

(b) 形式

public int getKeyCount(Node targetNode)
                throws CacheException

(c) パラメータ

targetNode

keyの数を取得したいEADSサーバを指定します。

CacheManagerクラスから取得したNodeクラスのインスタンスだけ指定できます。それ以外のインスタンスを指定した場合,動作は保証されません。

(d) 戻り値

指定したEADSサーバに属するkeyの数が返却されます。

(e) 発生する例外

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

  • ServerCommunicationException(通信障害)

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

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

(24) getFirstKey()(グループ指定)

(a) 機能

指定したグループに属するkeyのうち,ASCIIコードの昇順で先頭となるkeyを取得します。指定したグループの下位階層のグループに属するkeyも取得対象となります。

(b) 形式

public String getFirstKey(String groupName) 
                   throws CacheException

(c) パラメータ

groupName

グループ名を指定します。

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

(d) 戻り値

指定したグループに属するkeyのうち,ASCIIコードの昇順で先頭となるkeyが返却されます。

指定したグループに属するkeyが存在しない場合,nullが返却されます。

(e) 発生する例外

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

  • ServerCommunicationException(通信障害)

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

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

(25) getFirstKey()(EADSサーバ指定)

(a) 機能

指定したEADSサーバに格納されているkeyのうち,ASCIIコードの昇順で先頭となるkeyを取得します。

(b) 形式

public String getFirstKey(Node targetNode) 
                   throws CacheException

(c) パラメータ

targetNode

keyを取得したいEADSサーバを指定します。

CacheManagerクラスから取得したNodeクラスのインスタンスだけ指定できます。それ以外のインスタンスを指定した場合,動作は保証されません。

(d) 戻り値

指定したEADSサーバに格納されているkeyのうち,ASCIIコードの昇順で先頭となるkeyが返却されます。

指定したEADSサーバにkeyが存在しない場合,nullが返却されます。

(e) 発生する例外

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

  • ServerCommunicationException(通信障害)

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

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

(26) getNextKey()(グループおよびkey指定)

(a) 機能

指定したグループに属するkeyのうち,ASCIIコードの昇順で,指定したkeyの次に位置するkeyを取得します。指定したグループの下位階層のグループに属するkeyも取得対象となります。

なお,接続先のEADSサーバに存在しないkeyを指定した場合も同様に,指定したkeyの次に位置するkeyを取得します。

(b) 形式

public String getNextKey(String groupName, String key)
                  throws CacheException

(c) パラメータ

groupName

グループ名を指定します。

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

key

基準とするkeyを指定します。

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

(d) 戻り値

指定したグループに属するkeyのうち,ASCIIコードの昇順で,指定したkeyの次に位置するkeyが返却されます。

指定したkeyの次に位置するkeyが存在しない場合,nullが返却されます。

(e) 発生する例外

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

  • ServerCommunicationException(通信障害)

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

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

(f) 注意事項

  • このメソッドでは,指定されたグループを基に接続先のEADSサーバを決定します。

  • 接続先以外のEADSサーバの縮退,復旧,追加(スケールアウト処理),および位置の変更(リバランス処理)によって,指定したグループに属するkeyを格納するEADSサーバが変更されることがあります。そのため,getFirstKey()(グループ指定)を実行して先頭となるkeyを取得したときとは,異なるEADSサーバに接続する可能性があります。

  • EADSサーバ上でグループに対して排他処理をしないため,getFirstKey()(グループ指定)またはgetNextKey()(グループおよびkey指定)の実行後,他プロセスからの操作によって,グループに属するkeyが挿入,または削除されることがあります。

(27) getNextKey()(EADSサーバおよびkey指定)

(a) 機能

指定したEADSサーバに格納されているkeyのうち,ASCIIコードの昇順で指定したkeyの次に位置するkeyを取得します。

なお,接続先のEADSサーバに存在しないkeyを指定した場合も同様に,指定したkeyの次に位置するkeyを取得します。

(b) 形式

public String getNextKey(Node targetNode, String key)
                  throws CacheException

(c) パラメータ

targetNode

keyを取得したいEADSサーバを指定します。

CacheManagerクラスから取得したNodeクラスのインスタンスだけ指定できます。それ以外のインスタンスを指定した場合,動作は保証されません。

key

基準とするkeyを指定します。

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

(d) 戻り値

指定したEADSサーバに格納されているkeyのうち,ASCIIコードの昇順で,指定したkeyの次に位置するkeyが返却されます。

指定したkeyの次に位置するkeyが存在しない場合,nullが返却されます。

(e) 発生する例外

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

  • ServerCommunicationException(通信障害)

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

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

(f) 注意事項

  • 接続先以外のEADSサーバの縮退,復旧,追加(スケールアウト処理),および位置の変更(リバランス処理)によって,指定したkeyを格納するEADSサーバが変更される場合があります。

  • EADSサーバ上でグループに対して排他処理をしないため,getFirstKey()(EADSサーバ指定)またはgetNextKey()(EADSサーバおよびkey指定)の実行後,他プロセスからの操作によって,グループに属するkeyが挿入,または削除されることがあります。

(28) executeFunction()(keyまたはグループ指定)

(a) 機能

指定したkeyまたはグループから実行するEADSサーバを決定して,ユーザファンクションを実行します。

ユーザファンクションの実行で問題が発生した場合は,例外が返却されます。

(b) 形式

public Object executeFunction(String keyOrGroupName,
                              String funcName,
                              Object arg)
                       throws CacheException

(c) パラメータ

keyOrGroupName

keyまたはグループ名を指定します。

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

funcName

ユーザファンクション名を指定します。

半角英数字(0〜9,A〜Z,a〜z),アンダースコア(_),ピリオド(.)またはドルマーク($)が指定できます。

文字数の制限はありません。

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

arg

ユーザファンクションに渡す引数を指定します。

シリアライズできない場合,エラーとなります。

オブジェクトのサイズに上限はありません。

引数を渡さない場合はnullを指定します。

(d) 戻り値

ユーザファンクションで設定した実行結果が返却されます。

(e) 発生する例外

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

  • ServerCommunicationException(通信障害)

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

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

(f) 注意事項

executeFunction()を実行するスレッドのコンテキストクラスローダを変更しないでください。コンテキストクラスローダの設定が不正な場合,戻り値のオブジェクトのデシリアライズに失敗します。

(29) executeFunction()(keyまたはグループ,および受信タイムアウト指定)

(a) 機能

指定したkeyまたはグループから実行するEADSサーバを決定して,ユーザファンクションを実行します。また,受信タイムアウト時間を指定します。

受信タイムアウト時間には,クライアント定義のeads.client.connection.receive.timeoutパラメタの値ではなく,引数(recvTimeout)で指定した値を適用します。

ユーザファンクションの実行で問題が発生した場合は,例外が返却されます。

タイムアウトが発生した場合は,CacheException.EAD_ERROR_NET_TIMEOUTが返却されます。

(b) 形式

public Object executeFunction(String keyOrGroupName,
                              String funcName,
                              Object arg,
                              int recvTimeout)
                       throws CacheException

(c) パラメータ

keyOrGroupName

keyまたはグループ名を指定します。

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

funcName

ユーザファンクション名を指定します。

半角英数字(0〜9,A〜Z,a〜z),アンダースコア(_),ピリオド(.)またはドルマーク($)が指定できます。

文字数の制限はありません。

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

arg

ユーザファンクションに渡す引数を指定します。

シリアライズできない場合,エラーとなります。

オブジェクトのサイズに上限はありません。

引数を渡さない場合はnullを指定します。

recvTimeout

データ受信のタイムアウト時間(単位:ミリ秒)を指定します。

指定できるデータについては,「9.3.3(3)(b) eads.client.connection.receive.timeout」を参照してください。

(d) 戻り値

ユーザファンクションで設定した実行結果が返却されます。

(e) 発生する例外

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

  • ServerCommunicationException(通信障害)

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

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

(f) 注意事項

executeFunction()を実行するスレッドのコンテキストクラスローダを変更しないでください。コンテキストクラスローダの設定が不正な場合,戻り値のオブジェクトのデシリアライズに失敗します。

(30) executeFunction()(EADSサーバ指定)

(a) 機能

EADSサーバを指定して,ユーザファンクションを実行します。

ユーザファンクションの実行で問題が発生した場合は,例外が返却されます。

(b) 形式

public Object executeFunction(Node targetNode,
                              String funcName,
                              Object arg)
                       throws CacheException

(c) パラメータ

targetNode

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

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

  • nullの場合

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

funcName

ユーザファンクション名を指定します。

半角英数字(0〜9,A〜Z,a〜z),アンダースコア(_),ピリオド(.)またはドルマーク($)が指定できます。

文字数に制限はありません。

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

arg

ユーザファンクションに渡す引数を指定します。

シリアライズできない場合,エラーとなります。

オブジェクトのサイズに上限はありません。

引数を渡さない場合はnullを指定します。

(d) 戻り値

ユーザファンクションで設定した実行結果が返却されます。

(e) 発生する例外

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

  • ServerCommunicationException(通信障害)

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

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

(f) 注意事項

executeFunction()を実行するスレッドのコンテキストクラスローダを変更しないでください。コンテキストクラスローダの設定が不正な場合,戻り値のオブジェクトのデシリアライズに失敗します。

(31) executeFunction()(EADSサーバおよび受信タイムアウト指定)

(a) 機能

EADSサーバおよび受信タイムアウト時間を指定して,ユーザファンクションを実行します。

受信タイムアウト時間には,クライアント定義のeads.client.connection.receive.timeoutパラメタの値ではなく,引数(recvTimeout)で指定した値を適用します。

ユーザファンクションの実行で問題が発生した場合は,例外が返却されます。

タイムアウトが発生した場合は,CacheException.EAD_ERROR_NET_TIMEOUTが返却されます。

(b) 形式

public Object executeFunction(Node targetNode,
                              String funcName,
                              Object arg,
                              int recvTimeout)
                       throws CacheException

(c) パラメータ

targetNode

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

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

  • nullの場合

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

funcName

ユーザファンクション名を指定します。

半角英数字(0〜9,A〜Z,a〜z),アンダースコア(_),ピリオド(.)またはドルマーク($)が指定できます。

文字数に制限はありません。

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

arg

ユーザファンクションに渡す引数を指定します。

シリアライズできない場合,エラーとなります。

オブジェクトのサイズに上限はありません。

引数を渡さない場合はnullを指定します。

recvTimeout

データ受信のタイムアウト時間(単位:ミリ秒)を指定します。

指定できるデータについては,「9.3.3(3)(b) eads.client.connection.receive.timeout」を参照してください。

(d) 戻り値

ユーザファンクションで設定した実行結果が返却されます。

(e) 発生する例外

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

  • ServerCommunicationException(通信障害)

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

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

(f) 注意事項

executeFunction()を実行するスレッドのコンテキストクラスローダを変更しないでください。コンテキストクラスローダの設定が不正な場合,戻り値のオブジェクトのデシリアライズに失敗します。