20.1.2 グラフ・サーバー(PGX)への構成ファイルの受渡し

PGXエンジン構成ファイルは、ServerInstance#startEngine (またはそのバリアントのいずれか)がコールされるたびに、起動時にグラフ・サーバーによって解析されます。構成ファイルへのパスをグラフ・サーバー(PGX)に渡すことも、プログラムでそれを実行することもできます。このトピックでは、構成ファイルをグラフ・サーバー(PGX)に渡す様々な方法について説明します。

プログラムを使用する場合

すべての構成フィールドがJava列挙として存在します。次に例を示します。

Map<PgxConfig.Field, Object> pgxCfg = new HashMap<>();
pgxCfg.put(PgxConfig.Field.MEMORY_CLEANUP_INTERVAL, 600);

ServerInstance instance = ...
instance.startEngine(pgxCfg);

明示的に設定されていないパラメータはすべて、デフォルト値が使用されます。

ファイルを明示的に使用する場合

マップのかわりに、ローカル・ファイルシステムまたはクラスパスからグラフ・サーバー(PGX)構成JSONファイルを渡すことができます。

instance.startEngine("path/to/pgx.conf"); // file on local filesystem
instance.startEngine("classpath:/path/to/pgx.conf"); // file on current classpath

その他すべてのプロトコルでは、JSONファイルを入力ストリームとして直接渡すことができます:

InputStream is = ...
instance.startEngine(is);

ファイルを暗黙的に使用する場合

引数を指定せずにstartEngine()をコールした場合、グラフ・サーバー(PGX)は次の場所で構成ファイルを検索し、ファイルが見つかると停止します:

  • Javaシステム・プロパティpgx_confで見つかったファイル・パス。例: java -Dpgx_conf=conf/my.pgx.config.json ...

  • 現在のクラスパスのルート・ディレクトリにあるpgx.confというファイル

  • 現在のSystem.getProperty("user.dir")ディレクトリを基準にしたルート・ディレクトリ内のpgx.confという名前のファイル

ノート: 構成の指定はオプションです。特定の構成ファイルでフィールドが見つからない場合や、構成ファイルが指定されていない場合、各フィールドのデフォルト値が使用されます。

埋込みモードでのシェルの使用

シェルが埋込み(ローカル)のグラフ・サーバー(PGX)インスタンスを構成する方法を変更するには、etc/oracle/graph/conf/pgx.confを編集します。変更内容は、OPG4JシェルCLIを次回起動したときに反映されます。

また、次の例に示すように、構成ファイルの場所を変更することもできます。

./bin/opg4j --pgx_conf path/to/my/other/pgx.conf

システム・プロパティの設定

グラフ・サーバー(PGX)が実行されているJVMに-Dpgx.<FIELD>=<VALUE>引数を書き込むことによって、Javaシステム・プロパティを使用して任意のグラフ・サーバー(PGX)エンジンまたはランタイム・パラメータを設定できます。システム・プロパティの設定により他の構成が上書きされることに注意してください。次の例では、他の構成の内容に関係なく、最大オフヒープ・サイズを256GBに設定します。

java -Dpgx.max_off_heap_size=256000 ...

システム・プロパティを使用して、エンタープライズ・スケジューラ構成に使用されるように、ネストされた構成フィールドを設定することもできます。<FIELD><CONFIG_FIELD1>__<CONFIG_FIELD2>として形成されます。

環境変数の設定

また、グラフ・サーバー(PGX)エンジンまたはランタイム・パラメータは、グラフ・サーバー(PGX) JVM環境に'PGX_'を追加することによって、環境変数を使用して設定できます。環境変数を設定すると、その他の構成はすべて上書きされることに注意してください。ただし、システム・プロパティと環境変数の両方が同じパラメータに設定されている場合、システム・プロパティ値が使用されます。次の例では、環境変数を使用して最大オフヒープ・サイズを256GBに設定します。

PGX_MAX_OFF_HEAP_SIZE=256000 java ...