¡La versión 2.0 de Play ya está lista! Ayúdanos a traducir la documentación de la útlima versión y sigue nuestro progreso.

Manuales, tutoriales & referencias

Consulte

Contenidos

Elija la versión

Buscar

Busque con google

Libros

Parámetros de configuración

Configure su aplicación Play asignando valores a los parámetros de configuración del archivo conf/application.conf. Revise también:

Configuración de la aplicación

application.baseUrl

La URL base de la aplicación usada para generar URLs absolutas. Esta es utilizada por la sintanxis de plantilla @@{..} y en los Jobs (los cuales no están vinculados a un pedido Http.Request), tales como la generación de e-mail. Por ejemplo, para el modo dev:

application.baseUrl=http://localhost:9000/

Y para el modo prod:

%production%.application.baseUrl=http://www.yourdomain.com/

application.defaultCookieDomain

Permite que la sesión/cookie sea compartida entre subdominios. Por ejemplo, para hacer que las cookies sean válidas para todos los dominios que terminan en ‘.example.com’, tales como foo.example.com y bar.example.com:

application.defaultCookieDomain=.example.com

Por defecto: una cookie es válida solamente para un dominio específico.

application.lang.cookie

Este será el nombre de la cookie que se usa para almacenar el idioma actual, y normalmente lo asigna play.i18n.Lang.change(String locale); usted puede cambiar este nombre si quiere especificar distintas configuraciones de idiomas para distintas aplicaciones Play. Por ejemplo:

application.lang.cookie=MYAPP_LANG

Por defecto: PLAY_LANG

application.langs

Define las configuraciones regionales (en inglés “locales”) soportadas por su aplicación. Luego puede colocar los mensajes traducidos en los archivos conf/messages.{idioma}. El valor es una lista de códigos de idioma separados por coma, por ejemplo:

application.langs=fr,en,ja

Por defecto: no viene definido ningún idioma adicional al idioma original de la aplicación.

application.log

Especifica el nivel del registro de eventos (log) para su aplicación. Por ejemplo:

application.log=DEBUG

Por defecto: INFO

Revise también: Configuración del logging.

application.log.path

Ubicación de un archivo de configuración de Log4J, usado para personalizar la salida del registro de eventos (log). Si no especifica una ubicación, Play cargará el archivo log4j.properties del directorio conf en caso de que este archivo exista.

application.log.path=/log4j.properties

Por defecto: /log4j.xml el cual redirecciona a /log4j.properties

application.log.recordCaller

Configura el valor de play.Logger.recordCaller, el cual especifica si se debe registrar y mostrar el método que hace el llamado. Por ejemplo:

application.log.recordCaller=true

Por defecto: false

application.mode

Modo de ejecución de la aplicación (sensible a las mayúsculas y minúsculas). Por ejemplo:

application.mode=prod

Valores posibles:

  • DEV - habilita la recarga inmediata y otras funciones de desarrollo
  • PROD - hace una compilación previa del código y guarda en cache los fuentes Java y las plantillas.

Por defecto: DEV

application.name

El nombre de la aplicación, usualmente asignado por el comando play new.

Por defecto: sin valor.

application.secret

La clave secreta que se usa para proteger las funciones criptográficas, usualmente asignada por el comando play new o play secret. Si usted despliega su aplicación en varias instancias asegúrese de usar la misma clave. Por ejemplo:

application.secret=mNuAvlsFVjeuynN4IWZxZzFOHYVagafzjruHmWTL26VISKr46rUtyGcJuX7aYx4q

Si no está configurada, play.libs.Crypto.sign no encriptará los mensajes; en particular, las sesiones no serán encriptadas.

Por defecto: sin valor.

application.session.cookie

Nombre del cookie de la sesión. Por defecto, las cookies no están protegidas, configúrelo solamente si de verdad está sirviendo sus páginas a través de HTTPS. Por ejemplo:

application.session.cookie=PLAY

Por defecto: la sesión se escribe en el cookie temporal PLAY_SESSION.

application.session.httpOnly

Habilita el indicador ‘HTTP only’ (solamente HTTP) en las cookies, la cual mitiga algunos ataques XSS. Por ejemplo:

application.session.httpOnly=true

Por defecto: false

Para más información revise la página OWASP sobre HttpOnly.

application.session.maxAge

Tiempo de expiración de la sesión, es decir, el tiempo máximo de vigencia de la cookie de la sesión. Si no está configurado, la sesión expira cuando cierra su navegador web. Por ejemplo, para configurar la vigencia de la sesión en una hora:

application.session.maxAge=1h

Mantener la sesión por una semana:

application.session.maxAge=7d

Por defecto: la sesión se basa en una cookie temporal que expira cuando el browser se cierra.

application.session.secure

Habilita las sesiones basadas en cookies para conexiones HTTPS. Por ejemplo:

application.session.secure=true

Por defecto: false

application.session.sendOnlyIfChanged

Evita el envio de la cookie de la sesión si no hubo cambios en la misma. Por ejemplo:

application.session.sendOnlyIfChanged=true

Por defecto: false

application.web_encoding

La codificación de texto que Play usa cuando se comunica con el navegador web y para el Cliente de servicio web. Normalmente no necesita configurar esto, ya que Play por defecto usa UTF-8. Por ejemplo:

application.web_encoding=ISO-8859-1

Por defecto: UTF-8

Cambiar application.web_encoding afecta la parte charset del encabezado HTTP Content-type. También afecta la codificación que se usa cuando se transmiten resultados interpretados dinámicamente, sin embargo no afecta los bytes enviados cuando Play sirve contenido estático: Por lo tanto, si ha modificado la codificación por defecto de las respuestas y tiene archivos de texto estáticos (en la carpeta public/) que contienen caracteres especiales, debe asegurarse que estos archivos estén almacenados de acuerdo con la codificación especificada. Todos los demás archivos deberían almacenarse en UTF-8.

Archivos adjuntos (attachments)

attachments.path

Ubicación para almacenar contenidos play.db.jpa.Blob. Esta puede ser una ubicación absoluta, o la ubicación relativa de una carpeta dentro de la carpeta de la aplicación Play. Por ejemplo:

attachments.path=data/attachments

Por defecto: attachments

Certificados X509

certificate.key.file

Especifica una clave de certificado X509, para soporte HTTPS. Debe colocarle el nombre host.key al archivo. Por ejemplo:

certificate.key.file=/certificates/host.key

Por defecto: conf/host.key

certificate.file

Especifica un archivo de certificado X509, para soporte HTTPS. Debe colocarle el nombre host.cert al archivo. Por ejemplo:

certificate.file=/certificates/host.cert

Por defecto: conf/host.cert

certificate.password

Contraseña de un archivo de certificado X509 protegido por contraseña, para usar con la configuración certificate.key.file. Por ejemplo:

certificate.password=secret

Por defecto: secret

Jobs programados (Scheduled Jobs)

Puede configurar expresiones cron para los Jobs programados como parámetros de configuración con el prefijo cron. y usar esos parámetros como el valor de una anotación @play.jobs.On o @Every. Por ejemplo, @On(“cron.noon”) se refiere a:

cron.noon=0 0 12 * * ?

Formatos para fecha

date.format

Especifica el formato de fecha por defecto, usando un patrón compatible con java.text.SimpleDateFormat. Por ejemplo:

date.format=dd-MM-yyyy

Esta propiedad también afecta como ${date.format()} muestra las fechas en las plantillas. También establece el formato de fecha por defecto cuando se utilizan parámetros de tipo fecha en las peticiones HTTP.

Por defecto: yyyy-MM-dd

Adicionalmente puede configurar diferentes formatos de fecha para los idiomas que configuró en la propiedad application.langs, por ejemplo:

date.format.fr=dd-MM-yyyy

Configuración de la base de datos

db

Configuración del motor de base de datos. Para configurar rápidamente una base de datos de desarrollo use una base de datos temporal en memoria (H2 en memoria):

db=mem

Para una base de datos escrita en un archivo (H2 almacenada en archivo):

db=fs

Para una base de datos MySQL5 local:

db=mysql:user:pwd@database_name

Para reutilizar una fuente de datos (Datasource) desde su servidor de aplicaciones:

db=java:/comp/env/jdbc/myDatasource@

Si especifica un Datasource, el plugin de bases de datos al detectar el patrón db=java: desactivará el sistema JDBC que usa por defecto.

Por defecto: ninguna base de datos.

db.destroyMethod

Un nombre genérico de método ‘destroy’ a ser ejecutado cuando se detiene la aplicación. Cuando utiliza un Datasource existente, a veces es necesario destruirlo manualmente cuando la aplicación se detiene. Por ejemplo:

db.destroyMethod=close

Por defecto: nada.

db.driver

Nombre de la clase del driver de bases de datos, para usar con db.url. Por ejemplo:

db.driver=org.postgresql.Driver

Por defecto:

  • org.h2.Driver cuando db tiene el valor mem o fs, o si db.url empieza con jdbc:h2:mem:
  • com.mysql.jdbc.Driver si db es una configuración del tipo mysql:….

db.isolation

Nivel de aislamiento de las transacciones de la base de datos. Por ejemplo:

db.isolation=SERIALIZABLE

Los valores válidos son NONE, READ_UNCOMMITTED, READ_COMMITTED, REPEATABLE_READ, SERIALIZABLE, o un valor entero que será pasado como parámetro al método java.sql.Connection.setTransactionIsolation(). Cabe destacar que no todas las bases de datos soportan todos los niveles de aislamiento de transacción.

Por defecto: depende de la base de datos, usualmente READ_COMMITTED

db.pass

Contraseña de conexión a la base de datos, utilizada en conjunto con db.url.

Por defecto: sin valor, o una cadena de texto vacía cuando db tiene el valor mem o fs.

db.pool.maxIdleTimeExcessConnections

La cantidad de segundos a esperar antes de que las conexiones inactivas, que superen las db.pool.minSize permitidas, sean ‘sacrificadas’. Para más información revise la documentación de c3p0.

Por defecto: 0 - ‘no aplicar’.

db.pool.maxSize

Tamaño (cantidad de conexiones) máximo del pool de conexiones. Para más información revise la documentación de c3p0. Por ejemplo:

db.pool.maxSize=60

Por defecto: 30

db.pool.minSize

Tamaño (cantidad de conexiones) mínimo del pool de conexiones. Para más información revise la documentación de c3p0. Por ejemplo:

db.pool.minSize=10

Por defecto: 1

db.pool.timeout

Tiempo de expiración, expresado en milisegundos, del pool de conexiones. Para más información revise la documentación de c3p0. Por ejemplo:

db.pool.timeout=10000

Por defecto: 5000

db.url

Una configuración completa del JDBC, incluyendo las propiedades db.user, db.pass y db.driver. Por ejemplo:

db.url=jdbc:postgresql:database_name

Por defecto: nada.

db.user

Nombre de usario para la conexión de la base de datos, utilizado en conjunto con db.url.

Por defecto: nada, o sa cuando db tiene el valor mem o fs.

Evoluciones de base de datos

evolutions.enabled

Usado para deshabilitar las evoluciones de base de datos.

evolutions.enabled=false

Por defecto: true

Entorno de pruebas (Test runner)

headlessBrowser

Especifica el modo de compatibilidad que usará el navegador headless HtmlUnit, el cual será invocado cuando se ejecute el comando play auto-test. Ejemplo:

headlessBrowser=INTERNET_EXPLORER_7

Valores posibles:

  • FIREFOX_3
  • FIREFOX_3_6
  • INTERNET_EXPLORER_6
  • INTERNET_EXPLORER_7
  • INTERNET_EXPLORER_8

Por defecto: INTERNET_EXPLORER_8

Hibernate

Puede especificar propiedades adicionales de Hibernate. Por ejemplo, para habilitar los comentarios SQL:

hibernate.use_sql_comments=true

hibernate.connection.datasource

Configuración del datasource de Hibernate.

Configuración del servidor

http.address

Dirección IP del HTTP listener, para restringir las direcciones por la cuales el servidor va a escuchar las peticiones HTTP. Por ejemplo:

http.address=127.0.0.1

Por defecto: el servidor escucha peticiones HTTP a través de todas las direcciones IP.

http.cacheControl

Control de los encabezados de la respuesta HTTP para archivos estáticos: establece el tiempo máximo de vida expresado en segundos, esto le dice al navegador del usuario cuanto tiempo puede durar una página en cache. Esta propiedad solamente se lee en modo prod, ya que en el modo dev el cache está deshabilitado. Por ejemplo, para enviar un valor no-cache (no guardar página en cache):

http.cacheControl=0

Por defecto: 3600 - establece el tiempo de expiración en una hora.

http.exposePlayServer

Deshabilita el encabezado de la respuesta HTTP que identifica al servidor HTTP como Play. Ejemplo:

http.exposePlayServer=false

Por defecto: true

http.path

La direccion URL desde donde se ejecuta la aplicación en el servidor: use esto si no hospeda su aplicación Play en la carpeta raíz (root) del dominio de su servidor. Este parámetro no tiene efecto cuando despliega su aplicación como un WAR, porque la dirección será administrada por el servidor de aplicaciones. Por ejemplo:

http.path=/myapp/

Por defecto: /

http.port

El puerto por el cual escuchará el servidor HTTP.

Por defecto: 9000

http.proxyHost

Servidor proxy para las peticiones de servicios web. Por ejemplo:

http.proxyHost=localhost

Por defecto: el valor de la propiedad del sistema http.proxyHost.

http.proxyPassword

Contraseña del proxy para las peticiones de servicios web.

Por defecto: el valor de la propiedad del sistema http.proxyPassword.

http.proxyPort

Puerto del proxy para las peticiones de servicios web. Ejemplo:

http.proxyPort=3128

Por defecto: el valor de la propiedad del sistema http.proxyPort.

http.proxyUser

Nombre de usuario del proxy para las peticiones de servicios web.

Por defecto: el valor de la propiedad del sistema http.proxyUser.

http.useETag

Si está habilitado, Play generará automáticamente las etiquetas de entidad (entity tags) y enviará una respuesta 304 cuando sea necesaria. Por ejemplo, para desactivar el uso de entity tags:

http.useETag=false

Por defecto: true

http.userAgent

Personaliza el valor del encabezado USER_AGENT para las peticiones de servicios web. Por ejemplo:

http.userAgent=myApp 1.0

Por defecto: ningún valor.

https.port

Habilita un conector HTTPS, que escucha por el puerto especificado. Ejemplo:

https.port=9443

Por defecto: ningún valor – no se utiliza HTTPS.

Código fuente Java

java.source

Versión Java del código fuente, el cual sobreescribe la propiedad del sistema java.version. Ejemplo:

java.source=1.6

Posibles valores: 1.5, 1.6, 1.7 (experimental).

Por defecto: 1.5

JPA

jpa.dialect

Especifica el dialecto JPA personalizado para usar en la aplicación. Ejemplo:

jpa.dialect=org.hibernate.dialect.PostgreSQLDialect

Por defecto: Play determinará el dialecto basado en la configuración db.driver.

jpa.ddl

Especifica el patrón DDL de generación a usar. Por ejemplo, para habilitar la actualización automática de la estructura de la base de datos. Ejemplo:

jpa.ddl=create-drop

Por defecto: update (en modo dev) o none (en modo prod).

jpa.debugSQL

Depurar (debug) sentencias SQL (se registran en el log usando el nivel DEBUG). Ejemplo:

jpa.debugSQL=true

Por defecto: false

jpa.entities

Lista de nombres separados por coma de entidades JPA adicionales que deberán ser cargadas. Esto es útil cuando tiene entidades adicionales que no están en el package models de la aplicación, tales como clases del modelo dentro de un JAR aparte. Ejemplo:

jpa.entities=org.example.model.Person, org.example.model.Organisation

Por defecto: ningún valor.

jpa.mapping-file

Archivo de mapeo JPA.

Por defecto: ninguno.

JVM

jpda.port

Define el puerto a ser utilizado por JPDA cuando la aplicación esté en modo debug. Ejemplo:

Por defecto: 8000

keystore (Almacén de claves)

keystore.algorithm

Nombre de un algoritmo estándar de la API de seguridad del JDK (JDK Security API), para usar con la configuración keystore.file. Ejemplo:

keystore.algorithm=pkcs12

Valores - ‘nombres estandar’ del JDK Security API:

  • jceks (proveedor ‘SunJCE’)
  • jks (proveedor ‘SUN’)
  • pkcs12

Por defecto: JKS

keystore.file

Especifica un certificado del keystore, para soporte HTTPS. EL nombre del archivo debe ser certificate.jks. Ejemplo:

keystore.file=conf/certificate.jks

keystore.password

Configuración del keystore, para usar con la configuración keystore.file.

keystore.password=secret

Por defecto: secret

Memcached

memcached

Habilita Memcached; si no configura Memcached, Play usará un cache independiente que almacena los datos en la pila (heap) de la JVM.

memcached=enabled

Por defecto: disabled

Revise también: usando un cache.

memcached.host

Especifica el host de memcached. Por ejemplo:

memcached.host=127.0.0.1:11211

Por defecto: 127.0.0.1:11211

Puede especificar múltiples hosts para armar un cache distribuido. Por ejemplo:

memcached.1.host=127.0.0.1:11211
memcached.2.host=127.0.0.1:11212

Tipos de archivo MIME personalizados

Puede declarar tipos de archivo MIME adicionales. Por ejemplo:

mimetype.xpi=application/x-xpinstall

Servicios Web

webservice

Nombre de la clase de la implementacion del Servicio Web, o una de las implementacions incluidas en Play. Por ejemplo:

webservice=urlfetch

Valores disponibles:

  • urlfetch - la implementacion interna del JDK
  • async - el sistema es Async Http Client
  • Nombre de una clase que implemente play.libs.WS.WSImpl

Por defecto: async - el sistema es Async Http Client.

Correo electrónico

mail.debug

Habilita el registro de eventos (logging) de las transacciones SMTP. Internamte, Play utiliza JavaMail para realizar las transacciones SMTP.

mail.debug=true

Por defecto: false

mail.smtp

Clave de configuración de correo simple.

Por defecto: mock - usa un Mailer (gestor de correos) simulado

Vea también: Configuración SMTP.

mail.smtp.authenticator

Nombre de la clase que implementa un autenticador SMTP (javax.mail.Authenticator) personalizado.

Por defecto: ningún valor.

mail.smtp.channel

Existen dos maneras de enviar el correo electrónico a través de un canal encriptado, con esta propiedad de configuración usted puede especificar cual de ellas va a utilizar. Valores posibles:

  • clear - sin encriptación
  • ssl - conector SMTP-over-SSL (SMTPS); un socket SSL que escucha por el puerto 465
  • starttls - una conexión limpia a través del puerto 25 que cambiará a SSL/TLS, si su servidor soporta el comando starttls (ver: RFC 2487).

Por defecto: clear

mail.smtp.host

Servidor de correo saliente. Por ejemplo:

mail.smtp.host=127.0.0.1

Para usar el servidor SMTP de GMail:

mail.smtp.host=smtp.gmail.com

Por defecto: localhost

mail.smtp.localhost

Nombre del host local de reemplazo para los comandos SMTP.

Por defecto: ningún valor – usa la configuración por defecto de Java Mail

mail.smtp.pass

Contraseña del servidor SMTP, se usa en conjunto con mail.smtp.host, por ejemplo una contraseña para GMail.

Por defecto: ningún valor.

mail.smtp.port

Puerto para las conexiones al servidor SMTP, para sobreescribir el usado por defecto. Por ejemplo:

mail.smtp.port=2500

Por defecto:

mail.smtp.protocol

Establece el uso o no de SSL. Valores posibles:

  • smtp
  • smtps

Por defecto: smtp

mail.smtp.socketFactory.class

Cuando usa conexiones SSL con JavaMail, el comportamiento por defecto de SSL es desechar la conexión si el certificado del servidor remoto no está firmado por un certificado raíz. Este es el caso particular cuando se usa un certificado autofirmado. El comportamiento por defecto de Play es omitir esta verificación. Usted puede controlar eso usando esta propiedad.

mail.smtp.user

Nombre de usuario para tener acceso al servidor SMTP, usado en conjunto con mail.smtp.host, por ejemplo: un nombre de usuario de GMail.

Por defecto: ningún valor.

Play en tiempo de ejecución

play.bytecodeCache

Se usa para deshabilitar el cache de los bytecode en el modo dev; no tiene efecto en modo prod.

play.bytecodeCache=false

Por defecto: true

play.editor

Abrir archivo desde las páginas de error. Si su editor de texto soporta la apertura de archivos usando una URL, Play enlazará dinámicamente las páginas de error a los archivos. Para Textmate, por ejemplo:

play.editor=txmt://open?url=file://%s&line=%s

play.jobs.pool

Tamaño del pool de Jobs. Por ejemplo:

play.jobs.pool=20

Por defecto: 10

play.netty.clientAuth

Configura la autenticación del cliente javax.net.ssl.SSLEngine. Por ejemplo:

play.netty.clientAuth=need

Valores disponibles:

  • want - el servidor pedirá (request) autenticación al cliente
  • need - el servidor exigirá (require) la autenticación del cliente
  • none - sin autenticación del cliente

Por defecto: none

play.netty.maxContentLength

Longitud máxima del contenido del servidor HTTP para respuestas de tipo streaming, expresado en bytes.

Por defecto: ningún valor – no hay longitud máxima.

play.pool

Tamaño del pool de ejecución. Trate de mantener esto en el valor más bajo posible. Asignarle 1 a este propiedad serializará todas las peticiones (algo muy útil para propósitos de depuración). Por ejemplo:

play.pool=10

Por defecto: 1 (en modo dev), cantidad de procesadores + 1 (en modo prod).

play.tmp

Carpeta usada para almecenar archivos temporales. Por ejemplo:

play.tmp=/tmp/play

Valores posibles:

  • una dirección absoluta
  • una dirección relativa al directorio de la aplicación
  • none para no usar un directorio temporal.

Por defecto: tmp

SSL

Vea también: https.port.

ssl.KeyManagerFactory.algorithm

El nombre estándar de un algoritmo de gestión de confianza de la Java Secure Socket Extension (JSSE), para usar con la configuración keystore.file.

ssl.KeyManagerFactory.algorithm=SunX509

Por defecto: SunX509

trustmanager (Gestor de “confianza”)

trustmanager.algorithm

Nombre estándar de un algoritmo del JDK Security API, para usar con las configuraciones certificados X509 y keystore.

trustmanager.algorithm=pkcs12

Valores disponibles - ‘nombres estándar’ del JDK Security API:

  • jceks (proveedor ‘SunJCE’)
  • jks (proveedor ‘SUN’)
  • pkcs12

Por defecto: JKS

Subida de archivos

upload.threshold

El límite en bytes a partir del cual los archivos subidos serán escritos en el disco, por org.apache.commons.io.output.DeferredFileOutputStream. Por ejemplo:

upload.threshold=20480

Por defecto: 10240

Reenvíos del proxy (Proxy fordwarding)

XForwardedHost

Sobreescribe el valor del encabezado HTTP X-Forwarded-Host - el host original pedido por el cliente, para usar con servidores proxy.

Por defecto: el valor del encabezado X-Forwarded-Host.

XForwardedProto

Establece la petición de proxy en SSL, sobreescribiendo el valor de los encabezados HTTP X-Forwarded-Proto y X-Forwarded-SSL - el protocolo originalmente solicitado por el cliente. Por ejemplo:

XForwardedProto=https

XForwardedSupport

Una lista de direcciones IP separadas por coma que serán permitidas como valor del encabezado de petición HTTP X-Forwarded-For, usada para restringir las direcciones locales cuando un servidor proxy establece el valor del encabezado X-Forwarded-For.

Por defecto: 127.0.0.1