3.16.1 gRPCアダプタ独自定義ファイル
- 〈この項の構成〉
(1) 形式
[adpgrpc.protocol.keepalive-time=キープアライブPINGの送信間隔]
[adpgrpc.protocol.keepalive-timeout=キープアライブタイムアウト時間]
[adpgrpc.protocol.keepalive-without-calls={true|false}]
[adpgrpc.protocol.idle-timeout=アイドルタイムアウト時間]
[adpgrpc.protocol.deadline=リクエストの実行期限]
[adpgrpc.protocol.wait-for-ready={true|false}]
[adpgrpc.protocol.message-compression.enabled={true|false}]
[adpgrpc.data-size-limit.max-inbound-message-size=gRPCアダプタで受信できる最大メッセージサイズ]
[adpgrpc.data-size-limit.max-outbound-message-size=gRPC呼び出しで送信できる最大メッセージサイズ]
[adpgrpc.data-size-limit.max-inbound-metadata-size=受信できるメタデータの最大サイズ]
[adpgrpc.response-code.fault=フォルト処理するステータスコード]
(2) 機能
gRPCアダプタの動作情報を設定します。
gRPCアダプタ独自定義ファイルは「cscadpgrpc.properties」というファイル名で作成します。gRPCアダプタの作成時にサービスアダプタ定義画面の[独自定義ファイル]にこのファイルを設定することで,gRPCアダプタの開始時に設定内容が有効になります。
(3) ファイルの格納先
<サービスプラットフォームのインストールディレクトリ>\CSC\custom-adapter\gRPC\config\templates\cscadpgrpc.properties
- 注意事項
-
ここに格納されているファイルはテンプレートファイルです。gRPCアダプタ独自定義ファイルを編集する場合は,gRPCアダプタの追加時にサービスアダプタ定義画面(詳細)で[独自定義ファイル]の[編集]ボタンをクリックし,定義ファイルの内容を修正してください。
(4) 設定できるプロパティ
(a) プロトコル動作指定
adpgrpc.protocol.keepalive-time=キープアライブPINGの送信間隔 〜((10000−86400000000))
キープアライブPINGの送信間隔をミリ秒単位で指定します。範囲外の値を指定した場合,gRPCアダプタの起動でエラーとなります。
gRPCサーバ側で許可されているキープアライブ時間より小さい値を設定した場合,接続が強制的に閉じられるため,必要最小限の値を設定することを推奨します。
次の場合,キープアライブは無効となります。
-
最大値を指定した場合
-
このプロパティを省略した場合
キープアライブを有効にした場合,接続先のgRPCサービスの負荷が増加することがあります。
adpgrpc.protocol.keepalive-timeout=キープアライブタイムアウト時間 〜((10−9223372036854))<<20000>>
キープアライブPINGの送信後に,接続先から応答が返ってくるまでの時間をミリ秒単位で指定します。RTT(Round-Trip Time)の複数倍の値を設定することを推奨します。
範囲外の値を指定した場合,gRPCアダプタの起動でエラーとなります。
adpgrpc.protocol.keepalive-without-calls={true|false} 〜<<false>>
未処理のRPCがない場合にキープアライブを実行するかどうかを選択します。
指定できる値を次に示します。これ以外の値を指定した場合,gRPCアダプタの起動でエラーとなります。大文字と小文字は区別されます。
-
true
未処理のRPCがない場合にキープアライブを実行します。gRPCサーバ側でも同様の設定がされていなければ無効になります。
「true」を選択すると未使用の接続が解放されないため,帯域幅の消費量とCPU使用率が増加します。
-
false
未処理のRPCがない場合にキープアライブを実行しません。
通常はデフォルトの「false」を選択し,かつアイドルタイムアウト時間をadpgrpc.protocol.idle-timeoutプロパティで設定して,未使用の接続を適切に解放することを推奨します。
adpgrpc.protocol.idle-timeout=アイドルタイムアウト時間 〜((1000−2592000000))<<1800000>>
未処理のRPCがない場合に,チャネルの状態をアイドル状態に移行するまでの時間をミリ秒単位で指定します。範囲外の値を指定した場合,gRPCアダプタの起動でエラーとなります。
タイムアウトを無効にする場合,最大値を指定してください。
adpgrpc.protocol.deadline=リクエストの実行期限 〜((0−315576000000.999999999の数値を文字列で表現したもの))<<0>>
RPCがDEADLINE_EXCEEDEDでエラー終了する前の完了待ち時間を指定します。
範囲外の値を指定した場合,gRPCアダプタの起動でエラーとなります。0より小さい値を設定した場合の動作は保証しません。
整数部は秒に,小数部はナノ秒に変換されます。
小数部分が9桁を超える場合,10桁以降の小数部分は無視されます。
タイムアウトを無効にする場合,0を指定するか,プロパティの指定を省略してください。
指定された実行期限を過ぎてもRPCが完了しなかった場合,リクエストはエラーとなり,ステータスコード「DEADLINE_EXCEEDED」が返却されます。
adpgrpc.protocol.wait-for-ready={true|false} 〜<<false>>
gRPC呼び出しを待機するかどうかを次のどちらかで指定します。大文字と小文字は区別されます。これ以外の値を指定した場合,gRPCアダプタの起動でエラーとなります。
-
true
待機します。
-
false
待機しません。
adpgrpc.protocol.message-compression.enabled={true|false} 〜<<false>>
gRPCサービスへ送信するメッセージの圧縮有無を指定します。大文字と小文字は区別されます。これ以外の値を指定した場合,gRPCアダプタの起動でエラーとなります。
-
true
圧縮します。
-
false
圧縮しません。
(b) データサイズ制限
adpgrpc.data-size-limit.max-inbound-message-size=gRPCアダプタで受信できる最大メッセージサイズ 〜((0−2147483647))<<4194304>>
gRPCアダプタで受信できる最大メッセージサイズをバイト単位で設定します。範囲外の値を指定した場合,gRPCアダプタの起動でエラーとなります。
指定された値を超える受信メッセージが受信された場合,そのメッセージは処理されないで,RPCはステータスコード「RESOURCE_EXHAUSTED」で失敗します。
adpgrpc.data-size-limit.max-outbound-message-size=gRPC呼び出しで送信できる最大メッセージサイズ 〜((0−2147483647))<<2147483647>>
gRPC呼び出しで送信できる最大メッセージサイズをバイト単位で設定します。範囲外の値を指定した場合,gRPCアダプタの起動でエラーとなります。
指定された値を超えるメッセージを送信しようとした場合,そのメッセージは処理されないで,エラーメッセージ「KDEC84004-E」を出力してリクエスト処理が失敗します。
adpgrpc.data-size-limit.max-inbound-metadata-size=受信できるメタデータの最大サイズ 〜((1−2147483647))<<8192>>
受信できるメタデータの最大サイズをバイト単位で設定します。範囲外の値を指定した場合,gRPCアダプタの起動でエラーとなります。
(c) フォルト応答
adpgrpc.response-code.fault=フォルト処理するステータスコード
フォルト処理するステータスコードをコンマ(,)区切りで指定します。
指定できるステータスコードを次に示します。各ステータスコードの意味については,gRPCのドキュメントを参照してください。
-
CANCELLED
-
UNKNOWN
-
INVALID_ARGUMENT
-
DEADLINE_EXCEEDED
-
NOT_FOUND
-
ALREADY_EXISTS
-
PERMISSION_DENIED
-
RESOURCE_EXHAUSTED
-
FAILED_PRECONDITION
-
ABORTED
-
OUT_OF_RANGE
-
UNIMPLEMENTED
-
INTERNAL
-
UNAVAILABLE
-
DATA_LOSS
-
UNAUTHENTICATED
これ以外の値を設定した場合,gRPCアダプタの起動でエラーとなります。