4.3.3. Resinの設定¶
4.3.3.1. スタンドアローン/分散構成共通¶
<%RESIN_HOME%/conf/resin.properties> ファイルを開きます。
「jvm_args」プロパティに、インストール環境に応じたメモリ値、ヒープの最大サイズを設定します。本書では、例として次の値を設定します。# Arg passed directly to the JVM jvm_args : -Xmx4096m -Dfile.encoding=UTF-8 --add-opens=java.base/java.util=ALL-UNNAMED --add-opens=java.base/java.lang=ALL-UNNAMED --add-opens=java.base/sun.util.locale=ALL-UNNAMED --add-opens=java.xml/com.sun.org.apache.xerces.internal.jaxp=ALL-UNNAMED --add-opens=java.base/sun.util.calendar=ALL-UNNAMED --add-opens=java.xml/com.sun.org.apache.xerces.internal.jaxp.datatype=ALL-UNNAMED --add-opens=java.base/java.text=ALL-UNNAMED --add-opens=java.desktop/java.awt.font=ALL-UNNAMED --add-opens=java.base/java.math=ALL-UNNAMED --add-opens=java.base/java.util.concurrent=ALL-UNNAMED注意
設定する値は「4096m」以上にしてください。「4096m」より小さい値を設定した場合、正常に動作しない恐れがあります。注意
Java 8、または Java 11 を利用する場合は以下のコメントアウトを外して利用してください。(メモリ値、ヒープの最大サイズはインストール環境に応じた値に読み替えてください。)# When using Java 8 or 11 # jvm_args : -Dfile.encoding=UTF-8 -Djava.io.tmpdir=tmp -Xmx4096m -Xms4096m -XX:+UseG1GC -XX:MaxGCPauseMillis=200 -XX:InitiatingHeapOccupancyPercent=30 -XX:-OmitStackTraceInFastThrow -XX:+HeapDumpOnOutOfMemoryErrorその際、以下はコメントアウトしてください。jvm_args : -Dfile.encoding=UTF-8 -Djava.io.tmpdir=tmp -Xmx4096m -Xms4096m -XX:+UseG1GC -XX:MaxGCPauseMillis=200 -XX:InitiatingHeapOccupancyPercent=30 -XX:-OmitStackTraceInFastThrow -XX:+HeapDumpOnOutOfMemoryError --add-opens=java.base/java.util=ALL-UNNAMED --add-opens=java.base/java.lang=ALL-UNNAMED --add-opens=java.base/sun.util.locale=ALL-UNNAMED --add-opens=java.xml/com.sun.org.apache.xerces.internal.jaxp=ALL-UNNAMED --add-opens=java.base/sun.util.calendar=ALL-UNNAMED --add-opens=java.xml/com.sun.org.apache.xerces.internal.jaxp.datatype=ALL-UNNAMED --add-opens=java.base/java.text=ALL-UNNAMED --add-opens=java.desktop/java.awt.font=ALL-UNNAMED --add-opens=java.base/java.math=ALL-UNNAMED --add-opens=java.base/java.util.concurrent=ALL-UNNAMEDコラム
「jvm_args」プロパティに「-Djava.io.tmpdir」オプションを追加し、 Resin が利用する作業ディレクトリを変更できます。このオプションが指定されていない場合、 Resin が利用する作業ディレクトリはJVMのデフォルトの設定が利用されます。以下の例では、作業ディレクトリを /var/resin-tmp に変更する場合の設定例です。# Arg passed directly to the JVM jvm_args : -Xmx4096m -Dfile.encoding=UTF-8 -Djava.io.tmpdir=/var/resin-tmp注意
・「-Djava.io.tmpdir」オプションにより指定されたディレクトリは事前に作成しておく必要があります。・Resin 実行ユーザが読み込み、書き込みを行うことができる権限を設定しておく必要があります。・Linux系の環境では、このオプションが未指定の場合 /tmp が利用されます。cron等の設定により定期的に/tmp配下の内容が削除される設定が標準で組み込まれている場合があります。・Resin では、作業用ディレクトリに展開した設定ファイル等の変更を検出した場合、自動的に再起動が行われる場合があります。その為、 Resin が利用する作業ディレクトリを変更しておくことを推奨します。コラム
「jvm_args」プロパティに「-Duser.timezone」オプションを追加し、システムタイムゾーンを変更できます。例えば、”UTC” を設定する場合は、以下のように指定します。# Arg passed directly to the JVM jvm_args : -Xmx4096m -Dfile.encoding=UTF-8 -Duser.timezone=UTCシステムタイムゾーンの説明については、「intra-mart Accel Platform タイムゾーン仕様書」-「3種類のタイムゾーンを設定可能」を参照してください。注意
intra-mart Accel Platform を様々な国のユーザが利用する場合には、以下の点を考慮してシステムタイムゾーンを適切に設定する必要があります。
夏時間がないタイムゾーンを指定する必要があります。 Etc/GMT+1 等の + という文字を含むタイムゾーンを指定できません。 運用開始後にシステムタイムゾーンを変更できません。 タイムゾーンマスタに定義されているタイムゾーンを設定してください。 ログには、システムタイムゾーンの日時が出力されます。 データベースには、システムタイムゾーンの日時データが保存されます。詳しくは、「intra-mart Accel Platform タイムゾーン仕様書」-「環境」を参照してください。注意
タイムゾーン設定の初期設定は、インストールを行った JDK に依存します。
コラム
Resin は、起動後に設定ファイルやプログラムの変更を検出した場合、 Resin 自身の再起動を行います。開発中、運用中等により用途は異なりますが、Resin に変更の検出を行わせたくない場合は、「dependency_check_interval」項目の設定を行います。下記は、変更の検出を行わせない設定例です。dependency_check_interval : -1 「dependency_check_interval」は、2s (2秒毎), 5m (5分毎)等の値が設定可能です。変更が完了したら、Resin を再起動してください。
コラム
Resin の起動時にポートが重複している旨のエラーが発生する場合、Resin の停止後、ポート番号の設定を変更してください。
java.lang.RuntimeException: java.net.BindException: Address already in use: JVM_Bind Can't bind to *:8080. Check for another server listening to that port. 「app.http」プロパティに設定されている「8080」を、「8081」などの使用されていないポート番号に変更してください。# Set HTTP and HTTPS ports. # Use overrides for individual server control, for example: app-0.http : 8081 app.http : 8081変更が完了したら、Resin を再起動してください。
注意
intra-mart Accel Platform ではHTTPSによるResinへの接続をサポートしていません。*.https プロパティを有効にしないでください。セキュアな通信を行う場合は、Web Server を介してResinへ接続を行ってください。コラム
その他の設定については、「設定ファイルリファレンス 」 - 「Resin 」を参照してください。
コラム
カスタマーサクセスライセンスをご契約中の場合には、ライセンスポータルと通信してご契約内容の変更が自動反映されます。Resin をインストールした環境からライセンスポータルへの通信にプロキシサーバを利用する場合は、次の JVM 引数の設定が必要です。
-Dhttps.proxyHost プロキシサーバのホストURL -Dhttps.proxyPort プロキシサーバのポート番号 -Dhttps.proxyUser プロキシサーバへの接続ユーザ -Dhttps.proxyPassword 接続ユーザのパスワード ただし、ASEAN地域向けのカスタマーサクセスライセンスに関しては、自動反映する機能は提供されていません。カスタマーサクセスライセンスについての詳細は、「ライセンスの登録」を参照してください。
4.3.3.2. 分散構成¶
<%RESIN_HOME%/conf/resin.properties> ファイルを開きます。
「app_servers」プロパティに分散構成として構築したResinサーバの情報を設定します。
例としてResinを3台構成で運用する場合、次の値を設定します。# app-tier Triad servers: app-0 app-1 app-2 app_servers : 192.168.100.1:6800 192.168.100.2:6800 192.168.100.3:6800「app_servers」プロパティに設定した「IPアドレス:ポート番号」は、記述した順に app-0, app-1, app-2 とIDが振られます。コラム
「app_servers」プロパティにはホスト名を指定することも可能です。 ホスト名に紐づくIPアドレスが変わった場合は Resin サーバを再起動してください。# app-tier Triad servers: app-0 app-1 app-2 app_servers : app0-host:6800 app1-host:6800 app2-host:6800注意
分散構成に含まれるResinの<%RESIN_HOME%/conf/resin.properties>ファイルは、すべて同じ内容にしてください。「app_servers」プロパティに指定するIPアドレスは、ローカルアドレスのみ指定が可能であり、グローバルアドレスの指定を行うことはできません。また、分散環境を構築する場合、127.0.0.1等のループバックアドレスが指定された場合正常に動作しません。
4.3.3.3. TERASOLUNA Server Framework for Java (5.x) for Accel Platform を使用する場合の設定¶
Resin 4.0.49 以降の場合
- <%RESIN_HOME%/lib>から以下のjarファイルを退避します。
- validation-api-1.0.0.GA.jar
- <%RESIN_HOME%/webapp-jars>から以下のjarファイルを退避します。
- hibernate-validator-4.3.0.Final.jar
Resin 4.0.48 以前の場合
- <%RESIN_HOME%/lib>から以下のjarファイルを退避します。
- hibernate-validator-4.3.0.Final.jar
- validation-api-1.0.0.GA.jar
コラム
TERASOLUNA Server Framework for Java (5.x)では、Hibernate ValidatorのバージョンがResinが提供するものと異なるため、競合するバージョンのjarを退避します。
注意
モジュール構成の変更などにより、TERASOLUNA Server Framework for Java (5.x) for Accel Platform の利用をやめる場合には、必ず退避していたjarファイルを元に戻してください。- Resin 4.0.49 以降の場合
- <%RESIN_HOME%/lib>に以下のjarファイルを配置します。
- validation-api-1.0.0.GA.jar
- <%RESIN_HOME%/webapp-jars>に以下のjarファイルを配置します。
- hibernate-validator-4.3.0.Final.jar
- Resin 4.0.48 以前の場合
- <%RESIN_HOME%/lib>に以下のjarファイルを配置します。
- hibernate-validator-4.3.0.Final.jar
- validation-api-1.0.0.GA.jar