7.2. サーバースクリプトの作成


カスタムスクリプトを作成して、Data Grid サーバーに追加します。

7.2.1. サーバースクリプト

Data Grid サーバーのスクリプトは javax.script API をベースとしており、JVM ベースの ScriptEngine 実装と互換性があります。

Hello World スクリプトの例

以下は、1 つの Data Grid サーバーで実行され、1 つのパラメーターを持ち、JavaScript を使用する簡単な例です。

// mode=local,language=javascript,parameters=[greetee]
"Hello " + greetee

上記のスクリプトを実行するときに、greetee パラメーターの値を渡すと、Data Grid は "Hello ${value}" を返します。

7.2.1.1. スクリプトメタデータ

メタデータは、スクリプトの実行中に Data Grid サーバーが使用するスクリプトに関する追加の情報を提供します。

スクリプトメタデータは、スクリプトの最初の行でコメントを追加する property=value ペアです。以下に例を示します。

// name=test, language=javascript
// mode=local, parameters=[a,b,c]
  • スクリプト言語 (//, ;;, #) に一致するコメントスタイルを使用してください。
  • コンマで区切られた property=value ペア
  • 値は一重引用符 (') または二重引用符 (") で区切ります。
表7.1 メタデータプロパティー
プロパティー説明

mode

実行モードを定義し、次の値を持ちます。

local は、リクエストを処理するノードのみがスクリプトを実行します。ただし、スクリプトはクラスター化された操作を引き続き呼び出すことができます。

distributed Data Grid は、クラスター化されたエグゼキューターを使用してノード間でスクリプトを実行します。

言語

スクリプトを実行する ScriptEngine を指定します。

extension

ScriptEngine を設定する代替方法としてファイル名の拡張子を指定します。

role

ユーザーがスクリプトを実行する必要があるロールを指定します。

parameters

このスクリプトの有効なパラメーター名の配列を指定します。このリストに含まれていないパラメーターを指定する呼び出しによって例外が生じます。

datatype

オプションで、データおよびパラメーターおよび戻り値を保存する MediaType(MIME タイプ) を設定します。このプロパティーは、特定のデータフォーマットのみをサポートするリモートクライアントに便利です。

現在、データに String UTF-8 形式を使用するように、text/plain; charset=utf-8 のみを設定できます。

7.2.1.2. スクリプトバインディング

Data Grid は、内部オブジェクトをスクリプト実行のバインディングとして公開します。

バインディング説明

cache

スクリプトが実行されるキャッシュを指定します。

marshaller

データをキャッシュにシリアル化するために使用するマーシャラーを指定します。

cacheManager

キャッシュの cacheManager を指定します。

scriptingManager

スクリプトを実行するスクリプトマネージャーのインスタンスを指定します。このバインディングを使用して、スクリプトから他のスクリプトを実行することができます。

7.2.1.3. スクリプトパラメーター

Data Grid を使用すると、スクリプトを実行するためのバインディングとして名前付きパラメーターを渡すことができます。

パラメーターは name,value のペアで、name は文字列、value はマーシャラーが解釈できる任意の値になります。

以下のスクリプトの例では、multiplicandmultiplier の 2 つのパラメーターがあります。このスクリプトは multiplicand の値を取り、その値を multiplier の値で乗算します。

// mode=local,language=javascript
multiplicand * multiplier

上記のスクリプトを実行すると、Data Grid は式の評価の結果で応答します。

Red Hat logoGithubRedditYoutubeTwitter

詳細情報

試用、購入および販売

コミュニティー

Red Hat ドキュメントについて

Red Hat をお使いのお客様が、信頼できるコンテンツが含まれている製品やサービスを活用することで、イノベーションを行い、目標を達成できるようにします。

多様性を受け入れるオープンソースの強化

Red Hat では、コード、ドキュメント、Web プロパティーにおける配慮に欠ける用語の置き換えに取り組んでいます。このような変更は、段階的に実施される予定です。詳細情報: Red Hat ブログ.

会社概要

Red Hat は、企業がコアとなるデータセンターからネットワークエッジに至るまで、各種プラットフォームや環境全体で作業を簡素化できるように、強化されたソリューションを提供しています。

© 2024 Red Hat, Inc.