Documentation

You are viewing the documentation for the 2.1.5 release in the 2.1.x series of releases. The latest stable release series is 2.4.x.

§追加設定

アプリケーションを本番モードで実行するときに、任意の設定を上書きすることができます。このセクションでは、この「追加設定」のよくあるユースケースを紹介します。

追加設定は Java のシステムプロパティを使って指定します。Play によって生成された start スクリプトを利用している場合、Java のシステムプロパテイを start スクリプトに直接指定することができます。

§HTTP サーバーのアドレスとポートを指定する

HTTP ポートとアドレスの両方を指定することができます。デフォルトはポート 9000 、アドレス 0.0.0.0 (全てのアドレス)です。

$ start -Dhttp.port=1234 -Dhttp.address=127.0.0.1

この設定はデフォルトの組み込み Netty サーバだけが利用します。

§JVM の起動オプションを指定する

start スクリプトに JVM の起動オプションを指定することができます。指定しなかった場合は、 JVM のデフォルト設定が利用されます。

$ start -Xms128M -Xmx512m -server

§代替の設定ファイルを指定する

デフォルトで読み込まれる設定ファイルはクラスパス上の application.conf です。必要に応じて、別の設定ファイルを指定することができます。

§-Dconfig.resource を使う

アプリケーションのクラスパスで代替の設定ファイルを検索します。(普通はこのような代替の設定ファイルを、パッケージング前にアプリケーションの conf/ ディレクトリに入れておくとよいでしょう。) Play は conf/ ディレクトリを検索するので conf/ を加える必要はありません。

$ start -Dconfig.resource=prod.conf

§-Dconfig.file を使う

アプリケーションのバイナリにパッケージングされていない、ファイルシステム上の設定ファイルを指定することができます。

$ start -Dconfig.file=/opt/conf/prod.conf

§-Dconfig.url を使う

任意の URL を指定して、設定ファイルをロードすることができます。

$ start -Dconfig.url=http://conf.mycompany.com/conf/prod.conf

このとき、prod.conf に次のように include 命令を記述すると、元の設定ファイルを参照できます。

include "application.conf"

key.to.override=blah

§特定の設定キーを上書きする

設定ファイル全体を置き換えたいのではなく、いくつかの設定値キーを上書きできればよい、ということもあるでしょう。その場合は、 Java のシステムプロパティを利用して次のようにします。

$ start -Dapplication.secret=verysecretkey -Ddb.default.password=toto

§環境変数を使う

application.conf から環境変数を参照することができます。

my.key = defaultvalue
my.key = ${?MY_KEY_ENV}

フィールドを上書きする my.key = ${?MY_KEY_ENV} という記述をしました。これは、MY_KEY_ENV という値がない場合は単に無かった事にされます。しかし、MY_KEY_ENV という環境変数が設定されている場合は、環境変数の方が利用されます。

§logback の設定ファイルを変更する

§カスタムの logback 設定ファイルをアプリケーションにバンドルする

application-logger.xml という代理の logback 設定ファイルを作成し <app>/conf にコピーします。

システムプロパティを使って別の logback 設定ファイルを指定することができます。

§-Dlogger.resource を使う

別の logback 設定ファイルをクラスパスから読み込みことができます。

$ start -Dlogger.resource=conf/prod-logger.xml

§-Dlogger.file を使う

別の logback 設定ファイルをファイルシステムから読み込むことができます。

$ start -Dlogger.file=/opt/prod/prod-logger.xml

§-Dlogger.url を使う

別の logback 設定ファイルを URL から読み込むことができます。

$ start -Dlogger.url=http://conf.mycompany.com/logger.xml

§RUNNING_PID のパスを変更する

起動したアプリケーションのプロセス ID を記載した、 RUNNING_PID ファイルのパスを変更する事ができます。通常このファイルは play プロジェクトのルートディレクトリに配置されます。

$ start -Dpidfile.path=instance1

これでルートフォルダからのディレクトリを変更します。絶対パスも指定することができます。このオプションによってRUNNING_PID ファイルを衝突 (実際には play は他のインスタンスは起動しません) させずに複数の play インスタンスを起動する事が可能になります。ディレクトリの作成を忘れないで下さい。