14.3.23 execfunc(ユーザファンクションの実行)
- 〈この項の構成〉
(1) 機能
指定したユーザファンクションを実行します。
ユーザファンクションを実行するEADSクライアントを構築しなくても,このコマンドでユーザファンクションを実行できます。
(2) 規則
-
このサブコマンドはEADSサーバが稼働状態(running)のときに実行できます。
-
EADSサーバの位置(Position)の降順にユーザファンクションを実行します。実行途中で,一部のEADSサーバでユーザファンクションの実行に失敗しても,処理を継続します。
(3) 形式
eztool execfunc [-k <key>|-g <グループ名>|-s] <キャッシュ名> <ユーザファンクション名> [<ユーザファンクション引数>] [--format <フォーマット名>] [--columns <列名>[,<列名>]…] [--filter <フィルタの条件>] [--match <一致条件>]
(4) オプションおよび引数
(a) -kまたは--key <key>
指定したkeyが格納されているEADSサーバでユーザファンクションを実行したい場合に指定します。
keyとして指定できるデータについては,「15.2.2(1) keyとして指定できるデータ」を参照してください。
(b) -gまたは--group <グループ名>
指定したグループが格納されているEADSサーバでユーザファンクションを実行したい場合に指定します。
グループ名として指定できるデータについては,「15.2.2(2) グループ名として指定できるデータ」を参照してください。
(c) -sまたは--single
コマンドを実行するEADSサーバだけでユーザファンクションを実行したい場合に指定します。
(d) <キャッシュ名>
ユーザファンクションを実行するキャッシュの名称を指定します。
キャッシュ名に指定できる文字を次に示します。
-
キャッシュ作成時にキャッシュ定義ファイルを使用しなかった場合
半角32文字までの,ASCIIコード「0x20」〜「0x7E」の文字が指定できます。
-
キャッシュ作成時にキャッシュ定義ファイルを使用した場合
半角32文字までの,半角英数字(0〜9,A〜Z,およびa〜z)が指定できます。
(e) <ユーザファンクション名>
実行したいユーザファンクション名を指定します。
ユーザファンクション名には,半角英数字(0〜9,A〜Z,a〜z),アンダースコア(_),ピリオド(.)またはドルマーク($)が指定できます。
文字数に制限はありません。
(f) <ユーザファンクション引数>
ユーザファンクションに特定の引数を渡したい場合に指定します。
省略した場合はnullが引数として渡されます。
ユーザファンクション引数には,半角1,024文字までの,ASCIIコード「0x20」〜「0x7E」の文字が指定できます。
(g) --format <フォーマット名>
このオプションの詳細については,「14.4.2 表示形式の指定方法」を参照してください。
(h) --columns <列名>[,<列名>]…
このオプションの詳細については,「14.4.3 列のフィルタリングの指定方法」を参照してください。
(i) --filter <フィルタの条件>
このオプションの詳細については,「14.4.4 行のフィルタリングの指定方法」を参照してください。
(j) --match <一致条件>
このオプションの詳細については,「14.4.5 条件一致の指定方法」を参照してください。
(5) 出力例
eztool execfuncコマンドの実行結果の出力例を次に示します。
表示の構成要素については,「14.4.1 表示内容の構成要素」を参照してください。
メインの表示内容を次の表に示します。
項番 |
列名 |
説明 |
---|---|---|
1 |
Server |
ユーザファンクションを実行したEADSサーバのIPアドレス,およびEADSクライアントとの通信に使用するEADSサーバのポート番号 次の形式で表示されます。 IPアドレス:ポート番号 自然順序順で表示されます。 |
2 |
Result |
|
(6) リターンコード
次の表に示すリターンコードが返却されます。
項番 |
リターンコード |
リターンコードの説明 |
|
---|---|---|---|
コマンド定義のeads.command.compatパラメタを指定していない場合 |
コマンド定義のeads.command.compatパラメタに0300を指定した場合 |
||
1 |
0 |
0 |
コマンドの実行に成功しました。 |
2 |
101 |
101 |
コマンドの初期化に失敗しました。 |
3 |
120 |
構文不正で失敗しました。 |
|
4 |
150 |
コマンド実行中に失敗しました。 失敗時のリターンコードは,コマンドの実行に失敗した場合に返します。ユーザファンクション実行時に例外が発生した場合,コマンドは成功として扱います。例外の内容については,Resultの表示結果を参照してください。 |
|
5 |
200 |
コマンドタイムアウトで失敗しました。 |
- --matchオプションを指定した場合
-
条件に一致した場合は0,一致しなかった場合は1を,リターンコードとして返します。ただし,コマンドの実行に失敗したときは,--matchオプションを指定しなかった場合と同じになります。
(7) 注意事項
-
通常のユーザファンクションとは異なり,ユーザファンクション引数と取得データの型は,文字列(java.lang.String)だけとなります。このコマンドを使用する場合は,この点を考慮してユーザファンクションを作成してください。
ただし,サイズの大きい文字列を使用すると,EADSサーバでGCが発生して性能に影響が出るおそれがあるので注意してください。
-
出力処理中にコマンドがタイムアウトした場合,出力結果が欠落することがあります。また,出力処理が完了していても,コマンドがタイムアウトになることがあります。このような場合には,コマンドのタイムアウト時間を大きくしてから再実行してください。