How do I run a Play Framework 2.0 application as a Windows service?

playframework, playframework-2.0, windows-server-2008, windows-server-2008-r2

Solution

This worked for me on Windows 7:

- Create folder C:\my_app

Go to your Play! app folder in command line and type

`play dist`

- Copy generated "something-SNAPSHOT" folder to C:\my_app

- Download YAJSW and extract to C:\my_app

In C:\my_app\something-SNAPSHOT\ make a new file start.bat and fill it with command like this:

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

Save it and launch start.bat. Your play app must start and work as usual. Take a look at server's PID. You will use it in the next step.

Now using command prompt go to C:\my_app\yajsw\bat and type

`genConfig.bat < PID from previous step >`

You generated C:\my_app\yajsw\conf\wrapper.conf. Edit this file and change these params like so:

`wrapper.ntservice.name=My App Name wrapper.ntservice.displayname=My App Name` Save file.

Terminate the start.bat script you started in 6. then, in C:\my_app\yajsw\bat launch

`runConsole.bat` If app starts, do a `Ctrl c` (and answer y) to terminate the batch file and proceed to next step.

To install service launch (Run as administrator)

`installService.bat`

To start service launch

`startService.bat`

Now you can see your "My App Name" service in Windows services. To stop service you can use `stopService.bat`. To uninstall it `uninstallService.bat`.

Problem

I have a Play Framework 2.0 application that I want to deploy (production) on Windows Server 2008 R2. How do I get it to run as a service?

Original source

Related problems