Documentation

You are viewing the documentation for Play 1. The documentation for Play 2 is here.

設定パラメータ

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.combar.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

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-typecharset に影響します。また動的にレンダリングされる箇所には影響しますが、静的なコンテンツには影響 しません。ですから、デフォルトのレスポンスエンコーディングを変更していて、特殊文字を含む (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

デフォルト:

db.isolation

データベーストランザクションの隔離レベルです。設定例:

db.isolation=SERIALIZABLE

妥当な値は NONE, READ_UNCOMMITTED, READ_COMMITTED, REPEATABLE_READ, SERIALIZABLE, または java.sql.Connection.setTransactionIsolation() に渡される整数型の値です。すべてのデータベースがあらゆるトランザクション隔離レベルをサポートするわけではないことに注意してください。

デフォルト: データベース依存、一般的には READ_COMMITTED

db.pass

db.url への接続に使うデータベース接続パスワードです。

デフォルト: 設定値なし、または dbmemfs が設定されている場合は空文字列

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.userdb.passdb.driver との組み合わせの完全な JDBC の設定です。設定例:

db.url=jdbc:postgresql:database_name

デフォルト: なし

db.user

db.url 接続時に使われるデータベース接続ユーザ名です。

デフォルト: なし、または dbmemfs と設定されているときは sa

データベースエボリューションズ

evolutions.enabled

データベースエボリューションズ を無効にするときに使います。

evolutions.enabled=false

デフォルト: true

テストランナー

headlessBrowser

play auto-test 実行時に使用される、 HtmlUnit ヘッドレス web ブラウザの互換モードを指定します。

headlessBrowser=INTERNET_EXPLORER_7

値:

デフォルト: 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 の ‘標準名’:

デフォルト: 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

値:

デフォルト: 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

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

デフォルト:

mail.smtp.protocol

Sets whether to use SSL. Values:
SSL を使うかどうかを設定します。値は以下のとおりです:

デフォルト: 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

値:

デフォルト: none

play.netty.maxContentLength

HTTP サーバがレスポンスとして返すコンテンツのバイト単位の最大長です。

デフォルト: なし - 制限なし

play.pool

実行プールサイズです。この値はできるだけ小さく抑えてください。この値を 1 スレッドに設定すると全てのリクエストは直列に処理されます (デバッグ目的には非常に有用です)。

play.pool=10

デフォルト: 1 (dev モード), プロセッサ数 + 1 (prod モード).

play.tmp

一時ファイルを格納するフォルダです。設定例:

play.tmp=/tmp/play

値:

デフォルト: 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 の ‘標準名’:

デフォルト: JKS

play.netty.clientAuth

デフォルト: 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-ProtoX-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