¿Cómo ejecuto una aplicación Play Framework 2.0 como un servicio de Windows?

Tengo una aplicación Play Framework 2.0 que quiero implementar (producción) en Windows Server 2008 R2. ¿Cómo hago para que se ejecute como un servicio?

preguntado el 25 de agosto de 12 a las 09:08

5 Respuestas

Esto funcionó para mí en Windows 7:

  1. Crear carpeta C:\my_app
  2. Ve a tu Play! carpeta de la aplicación en la línea de comando y escriba

    play dist

  3. Copie la carpeta "algo-SNAPSHOT" generada en C:\my_app
  4. Descargar YAJSW y extraer a C:\my_app
  5. En C:\my_app\something-SNAPSHOT\ crea un nuevo archivo start.bat y llénalo con un comando como este:

    java -cp "C:\my_app\something-SNAPSHOT\lib\*" play.core.server.NettyServer

  6. Guárdelo y ejecute start.bat. Su aplicación de juego debe iniciarse y funcionar como de costumbre. Eche un vistazo al PID del servidor. Lo utilizará en el siguiente paso.

  7. Ahora, usando el símbolo del sistema, vaya a C:\my_app\yajsw\bat y escriba

    genConfig.bat < PID from previous step >

  8. Generaste C:\my_app\yajsw\conf\wrapper.conf. Edite este archivo y cambie estos parámetros así:

    wrapper.ntservice.name=My App Name
    wrapper.ntservice.displayname=My App Name


    Guardar el archivo.

  9. Terminar el start.bat script que comenzaste en 6. luego, en C:\my_app\yajsw\bat launch

    runConsole.bat

    Si la aplicación se inicia, haga un Ctrl c (y la respuesta y) para finalizar el archivo por lotes y continuar con el siguiente paso.

  10. Para instalar el lanzamiento del servicio (Ejecutar como administrador)

    installService.bat

  11. Para iniciar el lanzamiento del servicio

    startService.bat

Ahora puede ver su servicio "Nombre de mi aplicación" en los servicios de Windows. Para detener el servicio puede utilizar stopService.bat. Para desinstalarlo uninstallService.bat.

Respondido el 30 de diciembre de 13 a las 22:12

Información clara, me gusta, además sugiero cambiar el nombre RUNNING_PID archivo a otra cosa para evitar problemas de inicio después de un reinicio repentino del servidor, (aquí hay más información en otra respuesta) - bisior

Deberías echar un vistazo a esta pregunta: Ejecute la aplicación Java como servicio

Tendrás que usar el play dist comando y luego adaptar el start script para ejecutar en Windows.

contestado el 23 de mayo de 17 a las 13:05

Si obtiene un error en paso 5. que se parece a esto:

Play server process ID is 1132

[info] play - database [default] connected at jdbc:h2:file:db/h2/play

[warn] play - Your production database [default] needs evolutions!

... bunch of SQL statements in the console ...

[warn] play - Run with -DapplyEvolutions.default=true if you want to run them automatically (be careful)

Oops, cannot start the server.

@6gme0o9k5: Database 'default' needs evolution!

Luego ejecute el comando como este en su lugar:

java -cp "C:\my_app\something-SNAPSHOT\lib\*" -DapplyEvolutions.default=true play.core.server.NettyServer

Dos elementos adicionales en el proceso que Mikhail describió me hicieron tropezar:

Primero, antes paso 9., asegúrese de terminar el start.bat guión en el que comenzaste paso 6.. No hacer esto causó el dolor que publiqué aquí:

¿Cómo soluciono el error Oops del servidor al implementar la aplicación Play Framework 2.0 como un servicio de Windows?

Por último, asegúrese de Ejecutar como administrador cuando abre la ventana de comandos de DOS. no pude correr el installService.bat script sin ser administrador cuando estaba haciendo mi implementación.

contestado el 23 de mayo de 17 a las 13:05

Tuvimos dificultad con el start.bat métodos enumerados en otras respuestas aquí. Dos problemas importantes son la falta de arranque cuando el servidor decide reiniciarse el martes de parches y el requisito de usar VBS y otra decoración para evitar tener que mantener abierta la ventana de comandos para mantener viva la JVM.

Hemos tenido éxito con el uso de la Demonio común para ejecutar aplicaciones Play en Windows en producción.

Utilizamos dist para empaquetar la aplicación para su distribución, luego instálela como un servicio de Windows utilizando Commons Daemon.

Respondido 28 Feb 14, 15:02

Fore nuevas versiones de juego que puedes usar sbt-native-packager que preparan el instalador y el servicio casi automáticamente

http://www.scala-sbt.org/sbt-native-packager/formats/windows.html

contestado el 18 de mayo de 16 a las 18:05

No es la respuesta que estás buscando? Examinar otras preguntas etiquetadas or haz tu propia pregunta.