設定パラメータ
conf/application.conf
ファイルの設定キーに値を設定して Play のアプリケーションを設定しましょう。参照:
アプリケーション設定
application.baseUrl
アプリケーションベース URL は絶対 URL の逆引きに使われます。このアプリケーションベース URL は e メールのレンダリングのように Http.Request
を介さない @@{..}
テンプレート構文やジョブ内で使われます。例えば dev
モード用の設定は次のようにし:
application.baseUrl=http://localhost:9000/
prod
モード用の設定は次のようにします:
%production.application.baseUrl=http://www.yourdomain.com/
application.defaultCookieDomain
サブドメイン間で共有される session/cookie を有効にします。例えば、 foo.example.com
や bar.example.com
などのように ‘.example.com’ で終わる全てのドメインで有効な cookie を生成するには次のようにします:
application.defaultCookieDomain=.example.com
デフォルト: cookie は特定のドメインでのみ有効です。
application.lang.cookie
現在の言語を格納するために使われる cookie の名前です。言語は play.i18n.Lang.change(String locale)
で設定されます。Play アプリケーションと言語設定を分けたい場合に変更できます。設定例:
application.lang.cookie=MYAPP_LANG
デフォルト: PLAY_LANG
application.langs
アプリケーションで使われるロケールを定義します。 conf/messages.{locale}
ファイルにローカライズされたメッセージを置くことができます。設定する値はカンマ区切りの言語コードのリストです。設定例:
application.langs=fr,en,ja
デフォルト: 追加言語はありません。
application.log
アプリケーションのログレベルを指定します。設定例:
application.log=DEBUG
デフォルト: INFO
関連項目: ログの設定.
application.log.path
ログ出力をカスタマイズするための Log4J 設定ファイルのパス。パスを指定しないとき Play は conf
ディレクトリに log4j.properties
ファイルがあればロードします。
application.log.path=/log4j.properties
デフォルト: /log4j.xml
がなければ /log4j.properties
application.log.recordCaller
呼び出し元のメソッドを記録または表示するための play.Logger.recordCaller
の値を設定します。設定例:
application.log.recordCaller=true
デフォルト: false
application.mode
アプリケーションのモード (大文字小文字を区別します) です。設定例:
application.mode=prod
Values:
DEV
- 即時リロードやその他開発のヘルプを有効にします。PROD
- プリコンパイルや Java のソースまたはテンプレートをキャッシュします。
デフォルト: DEV
application.name
アプリケーション名。たいていは play new
コマンドで設定されます。
デフォルト: なし
application.secret
暗号化に使われる秘密鍵です。たいていは play new
または play secret
コマンドで設定されます。アプリケーションを複数デプロイする場合は同じ鍵を使うようにしてください。設定例:
application.secret=mNuAvlsFVjeuynN4IWZxZzFOHYVagafzjruHmWTL26VISKr46rUtyGcJuX7aYx4q
設定されていなければ play.libs.Crypto.sign
はメッセージを暗号化しません。具体的にいうと、セッションが暗号化されないということです。
デフォルト: なし
application.session.cookie
セッション cookie 名です。cookie の secure 属性はデフォルトで有効ではありません。HTTPS で通信されている場合に secure 属性を true に設定します。設定例:
application.session.cookie=PLAY
デフォルト: session は一時的な PLAY_SESSION
cookie に書かれます。
application.session.httpOnly
cookie の ‘HTTP only’ フラグを有効にします。有効にすることで XSS 攻撃の影響を受けにくくなります。設定例:
application.session.httpOnly=true
デフォルト: false
更に情報が必要なときは OWASP の HttpOnly のページを参照してください。
application.session.maxAge
セッションタイムアウト、言い換えるとセッション cookie の最大生存期間です。設定されていない場合は、ブラウザを閉じたときにセッションが切れます。セッションの有効期間を 1 時間に設定したいときは次のようにします:
application.session.maxAge=1h
セッションの有効期間を 1 週間にしたいときは次のようにします:
application.session.maxAge=7d
デフォルト: ブラウザを閉じるまで
application.session.secure
HTTPS 接続の cookie ベースのセッションを有効にします。設定例:
application.session.secure=true
デフォルト: false
application.session.sendOnlyIfChanged
セッションに変更がない時には、セッション cookie を送らないようにします。設定例:
application.session.sendOnlyIfChanged=true
デフォルト: false
application.web_encoding
Play が Web ブラウザとやり取りするときや Web サービスクライアント が使用するテキストエンコーディングです。Play はデフォルトで UTF-8
を使用するため、普通は設定する必要はありません。設定例:
application.web_encoding=ISO-8859-1
デフォルト: UTF-8
application.web_encoding
を変更すると HTTP ヘッダの Content-type
の charset
に影響します。また動的にレンダリングされる箇所には影響しますが、静的なコンテンツには影響 しません。ですから、デフォルトのレスポンスエンコーディングを変更していて、特殊文字を含む (public/
フォルダ内の) テキストファイルがあるときは、これらのテキストファイルのエンコーディングを指定したエンコーディングに合わせなければなりません。その他の全てのファイルは UTF-8 で保存すべきです。
添付ファイル
attachments.path
play.db.jpa.Blob
の内容の格納パスです。これは、絶対パス、または Play アプリケーションフォルダの中にあるフォルダへの相対パスにすることができます。設定例:
attachments.path=data/attachments
デフォルト: attachments
X509 証明書
certificate.key.file
HTTPS をサポートするための X509 証明書の秘密鍵を指定します。ファイル名は host.key
でなければなりません。設定例:
certificate.key.file=/certificates/host.key
デフォルト: conf/host.key
certificate.file
HTTPS をサポートするための X509 証明書を指定します。ファイル名は host.cert
でなければなりません。設定例:
certificate.file=/certificates/host.cert
デフォルト: conf/host.cert
certificate.password
パスワード保護された X509 証明書の秘密鍵のパスワードです。certificate.key.file で設定したものに対応するものを指定します。設定例:
certificate.password=secret
デフォルト: secret
スケジューリングされたジョブ
cron.
で始まるキーでスケジューリングされたジョブの cron 式を設定すると、@play.jobs.On
または @Every
アノテーションの設定値に指定したキーを使用することができます。例えば、@On(“cron.noon”)
は以下の設定を参照します:
cron.noon=0 0 12 * * ?
日付フォーマット
date.format
java.text.SimpleDateFormat
パターンを使って、デフォルトの日付フォーマットを設定します。設定例:
date.format=dd-MM-yyyy
このプロパティはテンプレート内で ${date.format()}
がどのように日付を出力するかにも影響します。また、日付パラメータを変数にバインドするときのデフォルトの日付フォーマットも設定します。
デフォルト: yyyy-MM-dd
application.langs で設定した言語ごとに異なる日付フォーマットを設定することも出来ます。設定例:
date.format.fr=dd-MM-yyyy
データベース設定
db
データベースエンジンの設定です。素早く開発用データベースをセットアップするために、一時的なインメモリデータベース (H2 インメモリデータベース) を使うには次のようにします:
db=mem
単純なファイルに書き出すデータベース (H2 ファイルストアド) を使うには次のようにします:
db=fs
ローカルの MySQL5 データベースを使うには次のようにします:
db=mysql:user:pwd@database_name
アプリケーションサーバに設定されているデータソースを利用するには次のようにします:
db=java:/comp/env/jdbc/myDatasource@
もし Datasource
を指定すると、データベースプラグインは db=java:
のパターンを検知し、デフォルトの JDBC システムを不活性化します。
デフォルト: none.
db.destroyMethod
一般的な ‘destroy’ メソッドの名前を指定します。既存のデータソースを使用するとき、アプリケーション停止時に始末する必要があることがあります。設定例:
db.destroyMethod=close
デフォルト: なし
db.driver
db.url で設定したデータベースを使うための、データベースドライバのクラス名を指定します。設定例:
db.driver=org.postgresql.Driver
デフォルト:
org.h2.Driver
db がmem
かfs
、または db.url がjdbc:h2:mem:
から始まっている場合com.mysql.jdbc.Driver
db がmysql:…
という設定である場合
db.isolation
データベーストランザクションの隔離レベルです。設定例:
db.isolation=SERIALIZABLE
妥当な値は NONE
, READ_UNCOMMITTED
, READ_COMMITTED
, REPEATABLE_READ
, SERIALIZABLE
, または java.sql.Connection.setTransactionIsolation()
に渡される整数型の値です。すべてのデータベースがあらゆるトランザクション隔離レベルをサポートするわけではないことに注意してください。
デフォルト: データベース依存、一般的には READ_COMMITTED
db.pass
db.url への接続に使うデータベース接続パスワードです。
デフォルト: 設定値なし、または db に mem
か fs
が設定されている場合は空文字列
db.pool.maxIdleTimeExcessConnections
db.pool.minSize を超えるアイドルコネクションが ‘処分される’ までの秒数です。c3p0 documentation を参照してください。
デフォルト: 0
- ‘処分されません’.
db.pool.maxSize
コネクションプールの最大サイズ (コネクション数) です。c3p0 documentation を参照してください。設定例:
db.pool.maxSize=60
デフォルト: 30
db.pool.minSize
コネクションプールの最小サイズ (コネクション数) です。c3p0 documentation を参照してください。設定例:
db.pool.minSize=10
デフォルト: 1
db.pool.timeout
ミリ秒単位のコネクションプールタイムアウト時間です。c3p0 documentation を参照してください。設定例:
db.pool.timeout=10000
デフォルト: 5000
db.url
db.user と db.pass と db.driver との組み合わせの完全な JDBC の設定です。設定例:
db.url=jdbc:postgresql:database_name
デフォルト: なし
db.user
db.url 接続時に使われるデータベース接続ユーザ名です。
デフォルト: なし、または db が mem
か fs
と設定されているときは sa
データベースエボリューションズ
evolutions.enabled
データベースエボリューションズ を無効にするときに使います。
evolutions.enabled=false
デフォルト: true
テストランナー
headlessBrowser
play auto-test
実行時に使用される、 HtmlUnit ヘッドレス web ブラウザの互換モードを指定します。
headlessBrowser=INTERNET_EXPLORER_7
値:
FIREFOX_3
FIREFOX_3_6
INTERNET_EXPLORER_6
INTERNET_EXPLORER_7
INTERNET_EXPLORER_8
デフォルト: INTERNET_EXPLORER_8
Hibernate
Hibernate のプロパティを追加で指定することも出来ます。例えば、SQL コメントを有効にするには次のようにします:
hibernate.use_sql_comments=true
hibernate.connection.datasource
Hibernate のデータソース設定
サーバ設定
http.address
HTTP をリッスンするアドレスです。サーバがリッスンするアドレスを制限するときに指定します。設定例:
http.address=127.0.0.1
デフォルト: サーバが持つ全てのアドレス
http.cacheControl
静的ファイルを制御するための HTTP レスポンスヘッダ: 秒単位でデフォルトの最大期間を設定すると、ユーザのブラウザにページをどれだけの期間キャッシュすべきかを伝えます。この値は prod
モードの時のみ読み取られ、 dev
モードではキャッシュは無効になります。例えば、 no-cache
を送りたいときは次のようにします:
http.cacheControl=0
デフォルト: 3600
- キャッシュの有効期限を 1時間に設定します。
http.exposePlayServer
HTTP サーバを Play と特定する HTTP レスポンスヘッダを無効にします。設定例:
http.exposePlayServer=false
デフォルト: true
http.path
サーバ上でアプリケーションが動作する URL パス: Play アプリケーションをドメインのルートに置きたくないときに使います。このパラメータは WAR としてデプロイしたときには効果がありません。なぜならパスはアプリケーションサーバにハンドリングされるからです。設定例:
http.path=/myapp/
デフォルト: /
http.port
HTTP サーバがリッスンするポート
デフォルト: 9000
http.proxyHost
Web サービスをリクエストする際に使用するプロキシサーバです。設定例:
http.proxyHost=localhost
デフォルト: http.proxyHost
システムプロパティ
http.proxyPassword
Web サービスをリクエストする際に使用するプロキシのパスワード
デフォルト: http.proxyPassword
システムプロパティ
http.proxyPort
Web サービスをリクエストする際に使用するプロキシのポートです。設定例:
http.proxyPort=3128
デフォルト: http.proxyPort
システムプロパティ
http.proxyUser
Web サービスをリクエストする際に使用するプロキシのユーザ
デフォルト: http.proxyUser
システムプロパティ
http.nonProxyHosts
プロキシサーバを通さずに直接接続するべきホストを示します。
ホストを |
で区切ったリストを値とすることができるほか、ワイルドカード文字 *
をマッチングに使うことができます。
設定例:
http.nonProxyHosts=localhost|*.example.com
デフォルト: http.nonProxyHosts
システムプロパティ
http.useETag
有効にすると Play はエンティティタグを自動的に生成し、必要なときに 304 を送ります。例えば、エンティティタグの利用を停止するには次のようにします:
http.useETag=false
デフォルト: true
http.userAgent
Web サービスをリクエストする際に送るカスタムの USER_AGENT
ヘッダの値です。設定例:
http.userAgent=myApp 1.0
デフォルト: none.
https.port
HTTPS コネクタを有効化し、指定したポートでリッスンします。設定例:
https.port=9443
デフォルト: none – HTTPS の設定なし
Java ソース
java.source
Java ソースレベルです。これは java.version
システムプロパティをオーバーライドします。設定例:
java.source=1.6
Values: 1.5
, 1.6
, 1.7
(experimental).
デフォルト: 1.5
JPA
jpa.dialect
使用するカスタムの JPA ダイアレクトをここで指定します。設定例:
jpa.dialect=org.hibernate.dialect.PostgreSQLDialect
デフォルト: Play は db.driver の設定に基づいてダイアレクトを推測します。
jpa.ddl
使用する DDL 生成パターンを指定します。例えば、自動データベース構造更新を有効にするには次のようにします:
jpa.ddl=create-drop
デフォルト: update
(dev
モード) または none
(prod
モード).
jpa.debugSQL
SQL 文をデバッグ (DEBUG レベルでロギング) します。設定例:
jpa.debugSQL=true
デフォルト: false
jpa.entities
追加でロードする JPA エンティティクラス名のカンマ区切りのリストです。分けられた JAR ファイル内のモデルクラスのように models
パッケージに入っていない追加のエンティティがある場合に便利です。設定例:
org.example.model.Person, org.example.model.Organisation
デフォルト: なし
jpa.mapping-file
JPA マッピングファイル
デフォルト: なし
JVM
jpda.port
アプリケーションがデバッグモードで動作しているときに JPDA に使われるポートを定義します。設定例:
デフォルト: 8000
キーストア
keystore.algorithm
JDK セキュリティ API 標準アルゴリズム名です。これは keystore.file の設定とともに使われます。
keystore.algorithm=pkcs12
Values – JDK セキュリティ API の ‘標準名’:
jceks
(‘SunJCE’ プロバイダ)jks
(‘SUN" プロバイダ)pkcs12
デフォルト: JKS
keystore.file
HTTPS をサポートするための証明書を指定します。ファイル名は certificate.jks
にすべきです。設定例:
keystore.file=conf/certificate.jks
keystore.password
keystore.file の設定を使うためのキーストア設定です。
keystore.password=secret
デフォルト: secret
Memcached
memcached
Memcached を有効にします。Memcached を設定しなければ、Play は JVM ヒープにデータを格納するスタンドアロンのキャッシュを使います。
memcached=enabled
デフォルト: disabled
関連項目: キャッシュを使う.
memcached.host
memcached ホストを指定します。設定例:
memcached.host=127.0.0.1:11211
デフォルト: 127.0.0.1:11211
分散キャッシュを構築するために複数のホストを指定することも出来ます。設定例:
memcached.1.host=127.0.0.1:11211
memcached.2.host=127.0.0.1:11212
カスタム MIME タイプ
MIME タイプを追加して定義できます。設定例:
mimetype.xpi=application/x-xpinstall
Web サービス
webservice
Web サービスの実装クラス名、またはビルトインの実装。設定例:
webservice=urlfetch
値:
urlfetch
- JDK の内部実装async
- 非同期の Http クライアントplay.libs.WS.WSImpl
の実装クラス名
デフォルト: async
- 非同期の Http クライアント
メール
mail.debug
SMTP トランザクションのロギングを有効にします。内部では Play は SMTP 通信をするために JavaMail を使っています。
mail.debug=true
デフォルト: false
mail.smtp
メールの設定キーです。
デフォルト: mock
- モックの Mailer を使います
関連項目: SMTP の設定.
mail.smtp.authenticator
カスタムの SMTP 認証 (javax.mail.Authenticator
) 実装のクラス名です。
デフォルト: なし
mail.smtp.channel
暗号化された経路で e メールを送信する方法は二通りあり、このプロパティで方法を選択できます。値は以下の通りです:
clear
- 暗号化なしssl
- SMTP-over-SSL (SMTPS) コネクタ; 465 番ポートでリッスンしている SSL ソケットです。starttls
- 使用するサーバがstarttls
コマンド (参考: RFC 2487) に対応していれば、SSL/TLS に切り替わる 25 番ポートの接続です。
デフォルト: clear
mail.smtp.host
外向きのメールサーバです。設定例:
mail.smtp.host=127.0.0.1
GMail の SMTP サーバを使うには次のようにします:
mail.smtp.host=smtp.gmail.com
デフォルト: localhost
mail.smtp.localhost
SMTP コマンドで使用されるローカルホスト名
デフォルト: なし - Java Mail のデフォルト値を使います。
mail.smtp.pass
SMTP サーバのパスワードです。mail.smtp.host のものです。例えば GMail のパスワードです。
デフォルト: なし
mail.smtp.port
接続先の SMTP サーバのポート番号です。デフォルト値をオーバーライドするために使います。設定例:
mail.smtp.port=2500
デフォルト:
25
mail.smtp.channel にclear
またはstarttls
がセットされているとき465
mail.smtp.channel にssl
がセットされているとき
mail.smtp.protocol
Sets whether to use SSL. Values:
SSL を使うかどうかを設定します。値は以下のとおりです:
smtp
smtps
デフォルト: smtp
mail.smtp.socketFactory.class
JavaMail で SSL 接続を使うとき、接続先のサーバの証明書がルート証明書によって署名されていなければ、デフォルトでは接続を切断します。具体的には自己署名の証明書を使っているときです。Play はデフォルトでルート証明書のチェックをスキップします。このプロパティを使って振る舞いを制御できます。
mail.smtp.user
SMTP サーバのユーザ名です。mail.smtp.host のものです。例えば GMail のユーザ名です。
デフォルト: none.
Play run-time
play.bytecodeCache
dev
モードでバイトコードキャッシュを無効にするときに使用します。 prod
モードには影響しません。
play.bytecodeCache=false
デフォルト: true
play.editor
エラーページからファイルを開きます。使用しているテキストエディタが URL からファイルを開くことが出来れば、Play はエラーページからファイルへ動的にリンクします。Textmate での具体例は以下のとおりです:
play.editor=txmt://open?url=file://%s&line=%s
play.jobs.pool
ジョブプールのサイズです。設定例:
play.jobs.pool=20
デフォルト: 10
play.netty.clientAuth
javax.net.ssl.SSLEngine
のクライアント認証を設定します。設定例:
play.netty.clientAuth=need
値:
want
- サーバはクライアント認証を 要求しますneed
- サーバはクライアント認証を 必要としますnone
- クライアント認証不要
デフォルト: none
play.netty.maxContentLength
HTTP サーバがレスポンスとして返すコンテンツのバイト単位の最大長です。
デフォルト: なし - 制限なし
play.pool
実行プールサイズです。この値はできるだけ小さく抑えてください。この値を 1 スレッドに設定すると全てのリクエストは直列に処理されます (デバッグ目的には非常に有用です)。
play.pool=10
デフォルト: 1
(dev
モード), プロセッサ数 + 1 (prod
モード).
play.tmp
一時ファイルを格納するフォルダです。設定例:
play.tmp=/tmp/play
値:
- 絶対パス
- アプリケーションディレクトリからの相対パス
none
一時ディレクトリが使われないようにします
デフォルト: tmp
SSL
関連項目: https.port.
ssl.KeyManagerFactory.algorithm
keystore.file の設定に使用する Java Secure Socket Extension (JSSE) 信頼管理アルゴリズムの標準名です。
ssl.KeyManagerFactory.algorithm=SunX509
デフォルト: SunX509
trustmanager
trustmanager.algorithm
X509 証明書 と キーストア の設定で使用する JDK セキュリティ API の標準アルゴリズム名です。
trustmanager.algorithm=pkcs12
値 - JDK セキュリティ API の ‘標準名’:
jceks
(‘SunJCE’ プロバイダ)jks
(‘SUN" プロバイダ)pkcs12
デフォルト: JKS
play.netty.clientAuth
値
want
受け入れたサーバーモードの SSLSockets が、クライアント認証を要求するように初期設定するかどうかを制御します。need
受け入れたサーバーモードの SSLSockets で、クライアント認証が必須とされるように初期設定するかどうかを制御します。none
上記以外
デフォルト: none
ファイルアップロード
upload.threshold
ディスクに書き出されるファイルのアップロード時のバイト単位でのしきい値です。 org.apache.commons.io.output.DeferredFileOutputStream
に使われます。設定例:
upload.threshold=20480
デフォルト: 10240
プロキシ転送
XForwardedHost
X-Forwarded-Host
HTTP ヘッダ値を上書きします。このヘッダ値はプロキシサーバとともに使われ、クライアントが要求した元のホストを保持しています。
デフォルト: X-Forwarded-Host
HTTP ヘッダ値
XForwardedProto
X-Forwarded-Proto
と X-Forwarded-SSL
HTTP ヘッダ値を上書きすることで、プロキシへのリクエストを SSL だと設定します。このヘッダ値はクライアントが要求した元のプロトコルを保持します。設定例:
XForwardedProto=https
XForwardedSupport
X-Forwarded-For
HTTP リクエストヘッダ値として許可された IP アドレスのカンマ区切りのリストです。プロキシサーバが X-Forwarded-For
リクエストヘッダをセットする場合、ローカルアドレスを制限するために使用します。ローカルアドレスを制限したくない場合は、代わりに ‘ALL’ を使うことができます。 注 ‘ALL’ は、安全であると確信できる場合にのみ使用してください (例えば、一般からのリクエストをブロックする適切なファイアウォールがある場合)。時間とともに内部 IP アドレスが変化する傾向にある Amazon ELB ロードバランサーの背後で Play! を使用する場合などが妥当なユースケースでしょう。
デフォルト: 127.0.0.1