Hitachi

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


20.3.2 EventContextインタフェース

〈この項の構成〉

(1) 説明

EADsサーバ,EADsクライアント,および発生したイベントに関する情報を,ユーザイベントハンドラに渡すインタフェースです。

インスタンスは,ユーザイベントハンドラを呼び出す直前に生成され,ユーザイベントハンドラの処理完了後に解放されます。

1回のデータ操作で複数のユーザイベントハンドラを呼び出す場合,ユーザイベントハンドラごとにインスタンスが生成されます。

(2) インタフェース名

com.hitachi.software.xeads.event.EventContext

(3) メソッド一覧

EventContextインタフェースが提供するメソッド一覧を次の表に示します。

メソッド名

説明

getServerName()

ユーザイベントハンドラを実行しているEADsサーバ名(運用ディレクトリ名)を取得します。

getCacheName()

APIを実行したキャッシュ名を取得します。

getGroupName()

実行したAPIに指定したkeyに含まれるグループ名を取得します。

getKey()

実行したAPIに指定したkeyを取得します。

getValue()

データ操作完了後のvalueを取得します。

getLastUpdateTime()

データの更新時刻を取得します。

isNewData()

新規に追加されたデータかどうかを取得します。

getClientInfo()

APIを実行したEADsクライアントの情報(PRFトレースに出力されるRootAP情報に相当する情報)を取得します。

getMethod()

実行したAPIの種類を取得します。

getLogger()

ユーザログを出力するロガーを取得します。

(4) getServerName()

(a) 機能

ユーザイベントハンドラを実行しているEADsサーバ名(運用ディレクトリ名)を取得します。

(b) 形式

public String getServerName()

(c) 戻り値

ユーザイベントハンドラを実行しているEADsサーバ名(運用ディレクトリ名)が返却されます。

(5) getCacheName()

(a) 機能

APIを実行したキャッシュ名を取得します。

(b) 形式

public String getCacheName()

(c) 戻り値

APIを実行したキャッシュ名が返却されます。

EventHandlerインタフェースのinit(),またはdestroy()内でこのメソッドを呼び出した場合は,nullが返却されます。

(6) getGroupName()

(a) 機能

実行したAPIに指定したkeyに含まれるグループ名を取得します。

(b) 形式

public String getGroupName()

(c) 戻り値

実行したAPIに指定したkeyに含まれるグループ名が返却されます。

EventHandlerインタフェースのinit(),もしくはdestroy()内でこのメソッドを呼び出した場合,または,実行したAPIに指定したkeyにグループ名が含まれていない場合は,nullが返却されます。

(7) getKey()

(a) 機能

実行したAPIに指定したkeyを取得します。

(b) 形式

public String getKey()

(c) 戻り値

実行したAPIに指定したkeyが返却されます。

EventHandlerインタフェースのinit(),またはdestroy()内でこのメソッドを呼び出した場合は,nullが返却されます。

(8) getValue()

(a) 機能

データ操作完了後のvalueを取得します。

ユーザイベントハンドラを実行する契機となったリクエストで,操作が完了した時点のvalueを取得します。

このメソッドを呼び出すまでに,ほかのリクエストによって更新されたvalueを取得することはできません。

(b) 形式

public Object getValue()
throws IOException, ClassNotFoundException

(c) 戻り値

データ操作完了後のvalueが返却されます。

次の場合はnullが返却されます。

  • EventHandlerインタフェースのinit(),またはdestroy()内でこのメソッドを呼び出した場合

  • remove操作の際にこのメソッドを呼び出した場合

  • リクエストの操作が完了する前にこのメソッドを呼び出した場合

(d) 発生する例外

  • IOException(デシリアライズ処理内で問題が発生)

  • ClassNotFoundException(シリアライズされたオブジェクトのクラスが見つからない)

(9) getLastUpdateTime()

データの更新時刻を取得します。

ユーザイベントハンドラを実行する契機となったリクエストで,操作が完了した時点のデータの更新時刻を取得します。

このメソッドを呼び出すまでに,ほかのリクエストによって更新されたデータの更新時刻を取得することはできません。

(a) 形式

public long getLastUpdateTime()

(b) 戻り値

データの更新時刻(1970年1月1日00:00:00からの通算ミリ秒)が返却されます。

次の場合は0が返却されます。

  • EventHandlerインタフェースのinit(),またはdestroy()内でこのメソッドを呼び出した場合

  • remove操作の際にこのメソッドを呼び出した場合

  • リクエストの操作が完了する前にこのメソッドを呼び出した場合

(10) isNewData()

新規に追加されたデータかどうかを取得します。

(a) 形式

public boolean isNewData()

(b) 戻り値

新規に追加されたデータかどうかが返却されます。

true

新規に追加されたデータです。

false

既存のデータの更新または削除です。

EventHandlerインタフェースのinit(),またはdestroy()内でこのメソッドを呼び出した場合は,falseが返却されます。

(11) getClientInfo()

(a) 機能

APIを実行したEADsクライアントの情報(PRFトレースに出力されるRootAP情報に相当する情報)を取得します。

ユーザファンクションからAPIを実行した場合は,CacheクラスのexecuteFunction()を実行したEADsクライアントの情報を取得します。

コマンド(eztool puteztool remove)からAPIを実行した場合は,コマンドを実行したプロセスの情報を取得します。

(b) 形式

public ClientInfo getClientInfo()

(c) 戻り値

APIを実行したEADsクライアントの情報が返却されます。

EADsクライアントの情報については,「20.2.4 ClientInfoインタフェース」を参照してください。

EventHandlerインタフェースのinit(),またはdestroy()内でこのメソッドを呼び出した場合は,nullが返却されます。

(12) getMethod()

(a) 機能

実行したAPIの種類を取得します。

(b) 形式

public MethodType getMethod()

(c) 戻り値

実行したAPIの種類が返却されます。

EventHandlerインタフェースのinit(),またはdestroy()内でこのメソッドを呼び出した場合は,nullが返却されます。

(13) getLogger()

(a) 機能

ユーザログを出力するロガーを取得します。

(b) 形式

public UserLogger getLogger()

(c) 戻り値

ユーザログを出力するロガーが返却されます。